我正在运行Docker 17.12.1-ce版本。
我对容器和/或图像的命名和设置感到困惑。
我不知道如何设置要显示的图像名称。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a940a1fc8cd6 eaa0022f09d0 "/bin/sh -c 'set -ex…" 15 hours ago Exited (4) 15 hours ago psql-Base-test-1
78f14cde1e83 mycomp/postgres:10 "docker-entrypoint.s…" 8 weeks ago Up 6 weeks 0.0.0.0:5402->5432/tcp psql-Base-test-2
我希望图像 eaa0022f09d0 还提供一个易于理解的名称,例如 mycomp / postgres:9.6 。
当我查看图像时,它看起来已经正确设置:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycomp/postgres 9.6 eaa0022f09d0 15 hours ago 37.8MB
mycomp/postgres 10 46f8aa84d854 8 weeks ago 666MB
在正确进行命名之前,我需要从图像启动容器吗?
我的一个困惑问题是, docker ps 命令上的 IMAGE 列如何连接到 docker images 列出的图像。似乎不一定是 IMAGE ID ,而是有时是 REPOSITORY 和 TAG 以及 IMAGE ID 的混合。
有人可以分享我的困惑或启发我吗? 据我所知,就像半年前一样,我成功地做到了这一点,但是现在,共识的发展了……
答案 0 :(得分:1)
执行docker ps -a
时,它会显示所有容器。在此,它向您显示了containerID
容器的哈希,IMAGE
是带有标签的图像名称,容器以command
开头,created
和status
,创建容器时给定的所有映射ports
,最后是容器的name
docker images
命令向您显示系统中存在的所有图像
您可以使用
docker build --tag yourImageName:yourTag .
然后您可以使用运行图像
docker run -d --name YourDesiredName yourImageName:yourTag