当前位置: 首页 > 面试题库 >

从容器中分离而不停止容器的正确方法

赵景曜
2023-03-14
问题内容

在Docker 1.1.2(最新)中,从容器分离而不停止容器的正确方法是什么?

因此,例如,如果我尝试:

  • docker run -i -t foo /bin/bash 要么
  • docker attach foo (对于已经运行的容器)

两者都将我带到集装箱中的码头,如何在不停止的情况下退出集装箱的码头?

exit并且CTR+C都停止了容器。


问题答案:

更新: 如以下答案中所述,Ctrl+ pCtrl+ q现在可以将交互方式转换为守护程序方式。

那么Ctrl+ C(或Ctrl+ \)应分开你从容器中,但 它会杀死容器 ,因为你的主要过程是一个bash。

关于Docker的一些课程。该容器不是真正的功能齐全的操作系统。运行容器时,启动的过程将使用PID
1并假定具有初始化电源。因此,当该进程终止时,守护进程将停止容器,直到启动一个新进程(通过docker
start)(对此问题的更多说明http://phusion.github.io/baseimage-
docker/#intro


如果您想要一个始终以分离模式运行的容器,我建议您使用

docker run -d foo

在容器上装有ssh服务器。(最简单的方法是遵循dockerizing
openssh教程https://docs.docker.com/engine/examples/running_ssh_service/)

或者,您可以通过以下方式重新启动容器

docker start foo

(默认情况下它将被分离)



 类似资料:
  • null 这两个都能让我到达集装箱中的终端,我如何才能在不阻止它的情况下离开集装箱的终端呢? 和都停止容器。

  • 这个问题很像这样,但我还是有问题: 我做错了什么? Docker版本0.6.7,build CB48ECC Ubuntu 3.8.0-33-Generic#48~Precise1-Ubuntu

  • 本文向大家介绍Docker 从网络上分离容器,包括了Docker 从网络上分离容器的使用技巧和注意事项,需要的朋友参考一下 示例 此命令将myAwesomeApp-1容器与app-backend网络分离。容器将不再能够与已断开连接的网络上的其他容器进行通信,也无法使用嵌入式DNS解析器在已断开连接的网络上查找其他容器。

  • 问题内容: 我有一个Jenkinsfile或Jenkins管道,该管道创建一个新图像并从该图像中启动一个容器。第一次运作良好。但是在随后的运行中,我希望停止并删除先前的容器。我的Jenkinsfile如下: “ docker stop container”阶段失败。那是因为我不知道获取容器并停止它的正确API。谢谢。 问题答案: 就像在此Jenkinsfile中一样,您可以改用命令。 这样,您可以

  • 问题内容: 有两个容器A和B。一旦容器A启动,将执行一个过程,然后容器将停止。容器B只是一个Web应用程序(例如expressjs)。是否可以从容器B启动A? 问题答案: 可以向Docker授予容器访问权限,以便它可以在主机上生成其他容器。您可以通过在容器内部暴露docker套接字来执行此操作,例如: 现在,如果容器中有可用的客户端,则可以控制主机上的docker守护程序,并使用它生成“容器A”。

  • 问题内容: Docker提供了一种列出正在运行的容器或所有容器(包括已停止的容器)的方法。 这可以通过以下方式完成: 或通过 我们有办法只列出已停止的容器吗? 问题答案: 只能使用以下命令列出停止的容器: 要么