刚刚和码头玩耍!!
Ran ps命令-a选项
docker run -a
C:\Users\sarkan1>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d6db385321c busybox:1.24 "sleep 1000" 26 seconds ago Up 24 seconds lucid_ramanujan
e6acd65398b2 hello-world "/hello" 43 minutes ago Exited (0) 43 minutes ago nifty_brattain
c5576137580d hello-world "/hello" 4 days ago Exited (0) 4 days ago dreamy_aryabhata
2594fbf1fa82 hello-world "/hello" 4 days ago Exited (0) 4 days ago nostalgic_hopper
c0102bc64c45 hello-world "/hello" 4 days ago Exited (0) 4 days ago vibrant_khorana
c4af79ea96e9 hello-world“/ hello”4天前退出(0)4天前cranky_heyrovsky
问题:
为什么我在名称列中的值总是不同?我想我跑了同样的容器!!
Whats命令栏? hello(/ hello)之前的斜杠是否有任何意义?
提前感谢大家!!
Nilotpal
答案 0 :(得分:8)
除非您启动指定其名称(docker run --name)的容器,否则docker会为您生成一个容器 这比使用其ID引用所述容器更容易。
然后,您可以使用其(生成的)名称生成docker命令。
详情请见" How does Docker generate default container names?"。
(以及源代码:moby/moby pkg/namesgenerator/names-generator.go
)
命令列是容器执行的完整命令:一旦此命令停止,容器就会停止 该命令在docker镜像中指定,并且是:
的组合(参见" difference between cmd and entrypoint in dockefile")
答案 1 :(得分:0)
基本上它们是随机容器名称生成的!!名称的左侧和右侧部分是硬编码的,可以在
中找到https://github.com/moby/moby/blob/master/pkg/namesgenerator/names-generator.go
如果在创建新的docker容器时未提供默认名称,则Docker引擎会生成它。