Docker 尽管服务 运行 容器立即退出

Docker container exits immediately despite Service Running

似乎存在类似的问题,但 none 有明确的答案(至少对我而言不是)。我在容器中有一个 LDAP 服务器,它带有 bin/start-ds 文件。问题是容器在 shell 脚本完成后立即退出。如果脚本只是打印一条消息,我会理解退出,但在我的例子中,它启动了一个过程。由于进程是 运行ning,我希望我的容器在 detach 模式下无限期地 运行 。但事实并非如此,它立即退出。任何指针将不胜感激。下面是我的简单 Dockerfile:

FROM unboundid-base:0.2
MAINTAINER helloworld

CMD ["/home/unboundid/UnboundID-DS/bin/start-ds"]

我猜你使用:http://docs.oracle.com/cd/E19623-01/820-6171/startds.html

因此根据文档添加:--nodetach 选项

CMD ["/home/unboundid/UnboundID-DS/bin/start-ds", "--nodetach"]

可能有两个原因:

  1. 添加 --nodetach

CMD ["/home/unboundid/UnboundID-DS/bin/start-ds", "--nodetach"]

  1. 容器在您 运行 之后立即退出的另一个原因是缺乏资源。您可能有足够的资源,但同时有多个容器 运行ning 正在消耗您的资源。或者你只是 运行 连接你的容器,但可能那个容器需要更多的资源来 运行 而你缺少 it.Allocate 更多的资源,增加你的 ram 和内存并尝试 运行再次打开你的容器。

希望对您有所帮助。

我 运行 dev/test/troubleshooting docker 容器中的所有 UnboundID 服务器产品。我的 Dockerfile CMD 行是:

CMD ${UBID_HOME}/bin/start-${UBID_PRODUCT};/bin/bash

只要你离开前台进程 运行ning 容器就不会退出,还有什么比 shell 与服务器交互更好的进程。