关于 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
当您启动退出的容器时,它默认不附加到进程的标准输出/标准输入。您可以通过两种方式查看输出:
- 您可以使用
start
命令的 --attach
或 -a
选项附加到容器以查看输出,例如:docker start -a 1dcd009d1fd3
- 您可以使用
logs
命令查看输出,例如:docker logs 1dcd009d1fd3
当我 运行 一个 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
当您启动退出的容器时,它默认不附加到进程的标准输出/标准输入。您可以通过两种方式查看输出:
- 您可以使用
start
命令的--attach
或-a
选项附加到容器以查看输出,例如:docker start -a 1dcd009d1fd3
- 您可以使用
logs
命令查看输出,例如:docker logs 1dcd009d1fd3