关于 Docker 状态的说明

Clarification on Docker status

当我 运行 一个 hello-world 容器时,它会打印消息并退出。然后容器的状态将被标记为 Exited 如果我再次启动容器,则不会打印消息。

但是当我运行一个nginx容器并停止容器时,状态将变为Exited。如果我使用 start 命令再次启动容器,nginx 进程将再次启动。行为有何不同。

 docker run hello-world

 docker container ls --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES
1dcd009d1fd3        hello-world         "/hello"                 15 seconds ago      Exited (0) 13 seconds ago                          focused_pike

当您启动退出的容器时,它默认附加到进程的标准输出/标准输入。您可以通过两种方式查看输出:

  1. 您可以使用 start 命令的 --attach-a 选项附加到容器以查看输出,例如:docker start -a 1dcd009d1fd3
  2. 您可以使用 logs 命令查看输出,例如:docker logs 1dcd009d1fd3