如何将Docker-ubuntu容器启动到bash中?
这个问题的答案不起作用。
在我可以attach
接受或不接受该-t
标志之前,docker容器始终会退出。我可以列出所有尝试过的命令,但这是start
exec
attach
各种-it
标志和的组合/bin/bash
。
如何将现有的容器启动到bash中?为什么这么难?这是对Docker的“不当”使用吗?
编辑:我用创建了容器docker run ubuntu
。有关容器的信息:60b93bda690f ubuntu "/bin/bash" About
an hour ago Exited (0) 50 minutes ago ecstatic_euclid
回答:
首先,容器不是虚拟机。容器是用于运行进程的隔离环境。容器的生命周期与内部运行的进程绑定在一起。当进程退出时,容器也退出,隔离环境也消失了。的“附加到容器”或“进入容器”,其实就是你走的隔离环境中的意义
,因此,如果你的进程已经退出,你的容器也已退出,因此没有容器为你attach
或enter
。所以的命令docker
attach,docker exec
是在目标 的容器。
在docker run
中进行配置Dockerfile
并内置到Docker映像中时,将启动哪个进程。以image
ubuntu
为例,如果您运行docker inspect ubuntu
,则会在输出中找到以下配置:
"Cmd": ["/bin/bash"]
这意味着该进程是在运行时启动docker run
ubuntu的/bin/bash
,但是您没有处于交互模式,也没有向其分配tty,因此该进程立即退出,容器退出。这就是为什么您无法再次输入容器的原因。
要启动容器并输入bash
,请尝试:
docker run -it ubuntu
然后,您将被带入容器外壳。如果您打开另一个终端,并且docker ps
,您会发现该容器正在运行,您可以docker
attach对其进行操作或docker exec -it <container_id> bash
再次输入它。
您也可以参考此链接以获取更多信息。
以上是 如何将Docker-ubuntu容器启动到bash中? 的全部内容, 来源链接: utcz.com/qa/428436.html