Linux docker容器以分离模式启动,在进程执行后停止
我使用以下命令在分离模式下创建docker容器:Linux docker容器以分离模式启动,在进程执行后停止,linux,docker,Linux,Docker,我使用以下命令在分离模式下创建docker容器: docker run [OPTIONS] --name="my_image" -d container_name /bin/bash -c "/opt/init.sh" 所以我需要在创建容器时执行“/opt/init.sh”。我所看到的是,在脚本执行完毕后,容器被停止 如何在容器创建时使用脚本/服务执行分离容器启动?Docker容器将在其主进程结束时退出。在本例中,这意味着当init.sh结束时。如果您仅尝试启动单个应用程序,则可以在最后使用e
docker run [OPTIONS] --name="my_image" -d container_name /bin/bash -c "/opt/init.sh"
所以我需要在创建容器时执行“/opt/init.sh”。我所看到的是,在脚本执行完毕后,容器被停止
如何在容器创建时使用脚本/服务执行分离容器启动?Docker容器将在其主进程结束时退出。在本例中,这意味着当
init.sh
结束时。如果您仅尝试启动单个应用程序,则可以在最后使用exec
启动它,确保在前台运行它。使用exec
将有效地将被调用的服务/应用程序转换为主进程
如果要启动多个服务,最好使用流程管理器,例如
supervisord
或runit
。您需要在前台启动process manager守护程序。Docker文档包括一个。运行Docker容器有两种模式
tail-f/dev/null这就是我需要在分离/后台模式下运行它的原因。使用“daemontools”怎么样。有人用过吗?对我的案子有用吗?“我需要运行它”中的“它”是什么意思?使用我刚才描述的流程运行分离的容器没有问题。正常的解决方案是使用流程管理器,Docker似乎倾向于supervisord。我注意到Docker在FAQ中也提到了守护程序工具:对不起,这种方法如何在Windows Docker容器上工作?