为什么docker ps -a的名称列总是不同的

Nil*_*pal 7 docker docker-image

刚和码头玩家一起玩!!

跑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
Run Code Online (Sandbox Code Playgroud)

c4af79ea96e9 hello-world"/ hello"4天前退出(0)4天前cranky_heyrovsky

问题:

  1. 为什么我在名称列中的值总是不同?我想我跑了同样的容器!!

  2. 什么命令栏?hello(/ hello)之前的斜杠是否有任何意义?

在此先感谢大家!

Nilotpal

Von*_*onC 10

除非你启动一个指定其名称的容器(docker run -name),否则docker会为你生成一个容器.
这比使用其ID引用所述容器更容易.

然后,您可以使用其(生成的)名称生成docker命令.

有关详细信息,请参阅" Docker如何生成默认容器名称? ".
(和源代码:moby/mobypkg/namesgenerator/names-generator.go)

命令列是容器执行的完整命令:一旦此命令停止,容器就会停止.
该命令在docker镜像中指定,并且是以下组合:

(参见" dockefile中cmd和入口点之间的差异 ")