📜  如何从 docker compose 获取图像名称 (1)

📅  最后修改于: 2023-12-03 15:08:13.732000             🧑  作者: Mango

如何从 Docker Compose 获取图像名称

当使用 Docker Compose 启动容器时,我们需要指定使用哪个镜像来运行容器。但是,在某些情况下,你可能需要手动获取容器使用的镜像名称。本文将介绍如何从 Docker Compose 中获取容器所使用的镜像名称。

方法一: 使用 docker-compose ps 命令

使用 docker-compose ps 命令可以列出所有正在运行的容器及其相关信息,包括容器使用的镜像名称。运行以下命令:

docker-compose ps

输出应该类似于下面的内容:

       Name                     Command               State      Ports
--------------------------------------------------------------------------------
myapp_mysql_1          docker-entrypoint.sh mysqld     Up      3306/tcp
myapp_web_1            python3 app.py                  Up      0.0.0.0:8080->8080/tcp

其中 myapp_mysql_1myapp_web_1 分别是两个容器的名称,而 mysqldpython3 app.py 则是容器所使用的命令。注意到 mysqld 后面没有跟着镜像名称,因为该容器使用的是默认的 MySQL 镜像。而 python3 app.py 则是使用的自定义镜像。

方法二: 使用 docker inspect 命令

除了使用 docker-compose ps 命令外,还可以使用 docker inspect 命令获取容器使用的镜像名称。运行以下命令:

docker inspect --format='{{.Config.Image}}' [container_name]

注意将 [container_name] 替换为容器的名称或 ID。输出应该是容器使用的镜像名称。

方法三: 查看 compose 文件

最后一种方法是查看 Docker Compose 文件本身。如果你知道 Docker Compose 文件中容器的名称,你可以通过查看该容器在文件中所定义的服务找到其使用的镜像名称。找到定义该服务的部分,查看 image 属性即可。

services:
  my_app:
    image: my_app:latest

上面的例子中,my_app 服务使用 my_app:latest 镜像。

结论

以上介绍了获取 Docker Compose 中容器使用的镜像名称的三种方法:使用 docker-compose ps 命令、使用 docker inspect 命令以及查看 Docker Compose 文件。希望这篇文章对你有所帮助。