【问题标题】:Docker container shows running even after exit command即使在退出命令之后,Docker 容器也显示正在运行
【发布时间】:2016-11-01 21:46:59
【问题描述】:

我是 docker 新手,因此可能缺少一个简单的部分。这是我的场景。我使用命令“docker run -it ubuntu:14.04”启动了一个容器。然后使用 Ctrl+P+Q 退出,使容器继续运行。我使用 docker ps 进行了验证,并看到容器正在运行。然后我再次使用 'docker exec -it bash.这让我再次进入容器。现在在输入“退出”命令时,我从容器中出来,但容器仍处于运行模式。通常使用 exit 命令,容器会停止。知道为什么会这样吗?

【问题讨论】:

    标签: docker


    【解决方案1】:

    容器的运行状态与创建它的初始进程相关联。

    如果您执行docker run,那么这将创建一个带有一些初始进程的新容器。当该进程终止时,整个容器将停止。如果那个初始进程是bash,而你是exit,那么这会终止容器本身。

    docker exec 在正在运行的容器内启动一个新进程。当该进程终止时,容器仍会继续运行。

    在交互式bash shell 中键入exit 只会退出该shell。它不会影响在同一容器内运行的其他进程(就像在您的主机操作系统中关闭一个终端窗口不会影响任何其他进程一样)。

    【讨论】:

    • 感谢您的回复
    【解决方案2】:

    在您的情况下使用exit 命令,容器仅停止/bin/bash/ 可执行文件。可能其他一些应用程序,如 NGINX 或 Apache 正在容器内运行,并且不会让它关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 2020-01-23
      • 2023-01-13
      • 2017-07-02
      • 2023-03-16
      相关资源
      最近更新 更多