Docker - 容器未运行

新手上路,请多包涵

我完全是码头工人的新手。我试图启动一个退出的容器,如下所示,

  1. 我使用 docker ps -a 列出了所有可用的容器。它列出了以下内容:

泊坞窗列出所有图像

  1. 我输入了以下命令来启动处于退出阶段的容器并进入该图像的终端。
    docker start 79b3fa70b51d
   docker exec -it 79b3fa70b51d /bin/sh

  1. 它抛出以下错误。

FATA[0000] Error response from daemon: Container 79b3fa70b51d is not running

但是当我使用 docker start 79b3fa70b51d 启动容器时。如果一切正常,它将容器 ID 作为输出抛出,这是正常的。我不确定是什么导致了这个错误。关于这方面的原因和建议的任何想法都会对我有很大帮助。提前致谢。

原文由 Stranger 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

容器 79b3fa70b51d 似乎只做一个 echo

这意味着它开始,回显然后立即退出。

下一个 docker exec 命令 不会发现它正在运行,以便将自己附加到该容器并执行任何命令:为时已晚。容器已经退出。

docker exec 命令在正在运行的容器中运行新命令。

使用 docker exec 开始的命令只会在容器的主进程(PID 1)运行时运行

原文由 VonC 发布,翻译遵循 CC BY-SA 4.0 许可协议

默认情况下,如果您没有在容器上运行任何任务,docker 容器将立即退出。

要让容器在后台运行,请尝试使用 --detach (或 -d )参数运行它。

举些例子:

 docker pull debian

docker run -t -d --name my_debian debian
e7672d54b0c2

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e7672d54b0c2        debian              "bash"              3 minutes ago       Up 3 minutes                            my_debian

#now you can execute command on the container
docker exec -it my_debian bash
root@e7672d54b0c2:/#

原文由 Dio Phung 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题