📅  最后修改于: 2023-12-03 15:08:13.732000             🧑  作者: Mango
当使用 Docker Compose 启动容器时,我们需要指定使用哪个镜像来运行容器。但是,在某些情况下,你可能需要手动获取容器使用的镜像名称。本文将介绍如何从 Docker Compose 中获取容器所使用的镜像名称。
使用 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_1
和 myapp_web_1
分别是两个容器的名称,而 mysqld
和 python3 app.py
则是容器所使用的命令。注意到 mysqld
后面没有跟着镜像名称,因为该容器使用的是默认的 MySQL 镜像。而 python3 app.py
则是使用的自定义镜像。
除了使用 docker-compose ps
命令外,还可以使用 docker inspect
命令获取容器使用的镜像名称。运行以下命令:
docker inspect --format='{{.Config.Image}}' [container_name]
注意将 [container_name]
替换为容器的名称或 ID。输出应该是容器使用的镜像名称。
最后一种方法是查看 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 文件。希望这篇文章对你有所帮助。