我正在尝试运行一个安装了我的Web应用程序的简单docker容器(不使用docker文件).
在测试期间,我总是使用-t -i选项运行容器,然后通过运行shell脚本启动其中的tomcat服务.
当我转向生产时,我不想再使用-t -i选项,只需要我的Tomcat服务启动并成为唯一的主要服务.
我尝试将入口点指向启动脚本以启动tomcat,但容器在该脚本完成后终止.
如何运行容器,启动服务并将该服务保留为容器的单个主要服务?
注意:我阅读了一些关于主管的帖子但不确定如果我走这条路线是否需要从头开始构建我的图像?我宁愿不这样做.
有什么建议?
最佳答案
如果你有一个使用入口点模式的Dockerfile,它将如下所示:
原文链接:https://www.f2er.com/docker/435908.html(Dockerfile)
FROM ubuntu
...Some configuration steps...
add start.sh /start.sh
ENTRYPOINT ["/start.sh"]
您需要做的就是确保您的start.sh脚本以某种方式“挂起”.有些人喜欢拖尾系统日志,但拖尾任何存在的文件都会有效.
(start.sh)
#!/bin/bash
service Your_Service_Or_Whatever start
tail -f /var/log/dmesg