我在 docker cli 中使用了 run 命令,所以当我使用该命令时
docker run --name ubuntu ubuntu
它只是存在,因为它没有 ptty 和输入输出连接,我们可以使用 -it 标志附加终端,但是当我们尝试启动处于停止状态的 doke 容器时,为什么容器默认以分离模式启动,这种行为并没有甚至在文档中提到过。
当我使用命令时
docker start ubuntu
当容器“ubuntu”处于停止模式时,容器已启动并在后台运行,但是当我使用“docker run”命令时,容器只是停止,有人可以解释这种行为吗?
如果您能提供一些材料供参考,那就太好了,因为我没有发现任何有关此行为的材料。
通过跑步
docker container ls -a
PID 1
或EntryPoint
。/bin/bash
。
就是这样,因为你没有附加到shell,所以它退出了
它立即完成并且容器退出,因此状态栏显示“Exited (0)”。
括号内的数字是容器的退出代码。
如果你再次启动容器,我认为不会有什么不同。
您可以发出命令来覆盖图像的主
EntryPoint
,该图像只是/bin/bash
,或者在第一次运行容器时使用-it
附加到它。
建议:
docker run -d --name ubuntu-test ubuntu:20.04 /bin/bash -c "sleep inf"
它将无限期地运行容器,直到您停止它
希望有帮助!