Docker CLI 配置文件示例:设置docker ps 的默认输出格式

本文博主将介绍如何通过修改 Docker CLI 的配置文件~/.docker/config.json,永久性地改变docker ps的默认输出格式。

这样设置后,之后每次直接运行docker ps,都会按照你定义的格式展示信息,无需再手动添加--format参数。

⚙️ 如何修改默认配置

你需要编辑home目录下的 Docker 配置文件~/.docker/config.json。如果文件或目录不存在,可以手动创建。

  1. 打开(或创建)配置文件

    vim~/.docker/config.json
  2. 添加或修改psFormat字段
    在 JSON 结构中,增加一个名为psFormat的键,其值就是你希望的默认输出格式。

    例如,如果你想让docker ps默认只显示容器名、状态和端口,可以这样配置:

    {"psFormat":"table {{.Names}}\\t{{.Status}}\\t{{.Ports}}"}

    请注意:JSON 格式中,制表符\t需要写成\\t进行转义。

  3. 保存文件并退出

之后,你每次运行docker ps,输出就会变成你自定义的样子。如果想恢复默认输出,删除psFormat这一行或将该文件改回原样即可。

🎨 可用的格式占位符

psFormat中,你可以使用下表所列的任意占位符来组合你想要的输出:

占位符描述
{{.ID}}容器 ID
{{.Image}}容器使用的镜像
{{.Command}}容器启动时执行的命令
{{.CreatedAt}}容器的创建时间
{{.RunningFor}}容器已运行的时间
{{.Status}}容器的当前状态(如Up 2 hours
{{.Ports}}端口映射信息
{{.Names}}容器名称
{{.Labels}}容器拥有的所有标签
{{.Mounts}}容器挂载的卷
{{.Size}}容器占用的磁盘大小(需配合-s参数)

✨ 配置示例

以下是几个常用的配置示例,你可以直接复制粘贴到你的config.json文件中:

1. 简洁模式:仅显示ID、名称和状态

{"psFormat":"table {{.ID}}\\t{{.Names}}\\t{{.Status}}"}

2. 监控模式:显示名称、状态和端口映射(运维常用)

{"psFormat":"table {{.Names}}\\t{{.Status}}\\t{{.Ports}}"}

3. 调试模式:显示更详细的创建时间和命令

{"psFormat":"table {{.ID}}\\t{{.Names}}\\t{{.Image}}\\t{{.Command}}\\t{{.CreatedAt}}"}

💡 注意事项

  • 优先级:如果在运行docker ps时手动添加了--format参数,它会覆盖配置文件中的psFormat设置。
  • 环境隔离:如果你想为不同的终端会话使用不同的配置,可以通过DOCKER_CONFIG环境变量指定一个自定义的配置文件目录。例如:docker --config /path/to/my-config/ ps
  • 其他命令:类似地,你也可以通过imagesFormat来配置docker images命令的默认输出。