现在,你的容器已经运行起来了,你可能想要确认这一点,或者你想要列出你的机器上运行的所有容器。你可以使用 docker container ls 命令。在旧的 Docker 版本中,对应的命令为 docker ps。
1 2 3 4
root@kerneltalks # docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c46f2e9e4690 httpd "httpd-foreground"11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp cranky_cori
列出的结果是按列显示的。每一列的值分别为:
Container ID :一开始的几个字符对应你的容器的唯一 ID
Image :你运行容器的镜像名
Command :容器启动后运行的命令
Created :创建时间
Status :容器当前状态
Ports :与宿主端口相连接的端口信息
Names :容器名(如果你没有命名你的容器,那么会随机创建)
如何查看 Docker 容器的历史纪录?
在第一步我们使用了 -d 参数来将容器,在它一开始运行的时候,就从当前的 shell 中脱离出来。在这种情况下,我们不知道容器里面发生了什么。所以为了查看容器的历史纪录,Docker 提供了 logs 命令。它采用容器名称或 ID 作为参数。
1 2 3 4 5 6
root@kerneltalks # docker container logs cranky_cori AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message AH00558: httpd: Could not reliably determine the server's fully qualified domainname, using172.17.0.2. Set the 'ServerName' directive globally to suppress this message [Thu May 3118:35:07.3011582018] [mpm_event:notice] [pid 1:tid 139734285989760] AH00489: Apache/2.4.33 (Unix) configured -- resuming normal operations [Thu May 3118:35:07.3051532018] [core:notice] [pid 1:tid 139734285989760] AH00094: Command line: 'httpd -D FOREGROUND'
root@kerneltalks # docker containerls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
所以,在这种情况下,如果想要查看停止的或不活动的容器,你需要在 ls 命令里同时使用 -a 参数。
1 2 3 4
root@kerneltalks # docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c46f2e9e4690 httpd "httpd-foreground"33 minutes ago Exited (0) 2 minutes ago cranky_cori
有了 -a 参数,现在我们可以查看已停止的容器。注意这些容器的状态被标注为 已退出 。既然容器只是一个进程,那么用“退出”比“停止”更合适!
root@kerneltalks # docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c46f2e9e4690 httpd "httpd-foreground"35 minutes ago Up 8 seconds 0.0.0.0:80->80/tcp cranky_cori
root@kerneltalks # docker container rm cranky_cori cranky_cori root@kerneltalks # docker containerls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES