1. 查看容器的启动命令和配置

使用 docker inspect 命令来获取容器的详细配置信息:

docker inspect <container_id_or_name>

这将返回一个 JSON 格式的详细信息,其中包含容器的所有配置,包括启动时的命令、挂载卷、端口映射等。

主要字段:

  • Config.Cmd:容器启动时执行的命令。
  • HostConfig.Binds:容器挂载的卷(即宿主机的目录与容器的目录映射)。
  • HostConfig.PortBindings:端口映射信息。
  • Name:容器的名称。

如果只想查看特定信息(如卷挂载、端口映射等),可以使用 jq 工具进行过滤。以下是一些常见的查询示例。

2. 查询容器的端口映射

docker inspect --format 'json .HostConfig.PortBindings}}' <container_id_or_name>

这将输出端口映射的详细信息,例如:

{
  "80/tcp"( [
    {
      "HostIp": "0.0.0.0",
      "HostPort": "8080"
    }
  ]
}

上面的输出表明容器的 80/tcp 端口映射到宿主机的 8080 端口。

3. 查询容器的卷挂载

docker inspect --format '{{json .HostConfig.Binds)' <container_id_or_name>

这将显示容器挂载的卷信息,例如:

[
  "/host/path:/container/path"
]

表示容器中的 /container/path 被挂载到宿主机的 /host/path

4. 查询容器的启动命令

docker inspect --format 'json .Config.Cmd}}' <container_id_or_name>

这将显示容器启动时执行的命令及其参数。

5. 查询容器的名称

容器的名称可以通过以下命令查询:

docker inspect --format '{{.Name}}' <container_id_or_name>

返回的格式为 /container_name,你可以去掉前面的 / 来获取容器的名称。

6. 简化查询(例如查询多个信息)

如果你希望一次性获取容器的端口映射、挂载卷等信息,可以结合 docker inspect--format 选项:

docker inspect --format 'Name( {{.Name)' <container_id_or_name>
docker inspect --format 'Ports: json .HostConfig.PortBindings}}' <container_id_or_name>
docker inspect --format 'Volumes( {{json .HostConfig.Binds)' <container_id_or_name>

7. 容器的启动日志

如果容器已经停止并且你希望查看容器的启动日志,执行以下命令:

docker logs <container_id_or_name>

这将输出容器启动过程中的日志,可以帮助你了解容器是如何启动的。