case 1:docker run -d -it image_id ehco "hello world "创建容器后,通过docker -ps -a 查看容器状态是Exited (0),且通过docker start container_id命令启动容器,容器总是处于“Exited (0)”的状态,无法进入容器执行其他操作。如下图:


case2:docker run -d -it image_id /bin/bash 创建容器后,容器状态为:Up,进入容器执行其他操作后,容器状态正常。执行docker start 命令去正常启动该容器的状态为“Up”

比较case1 和 case 2,执行docker run后发现容器的状态并不一致。
原因:
1. 在case1 中,docker run 命令是一个进程,echo 后进程结束,docker退出。容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出
容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行
如下命令,会在指定容器中执行指定命令,[ctrl+D]退出后不会终止容器运行
docker exec -it [CONTAINER_NAME or CONTAINER_ID] /bin/bash
本文对比分析了使用不同命令创建Docker容器后的状态差异。详细解释了为什么某些容器会立即退出,而另一些则保持运行状态。并提供了如何正确进入容器及执行操作的方法。
8759

被折叠的 条评论
为什么被折叠?



