我在 Docker 容器上安装了 Nginx,并尝试像这样运行它:
docker run -i -t -p 80:80 mydockerimage /usr/sbin/nginx
问题是 Nginx 的工作方式是,初始进程立即生成一个 Nginx 主进程和一些工作进程,然后退出。由于 Docker 只监视原始命令的 PID,因此容器会停止。
如何防止容器停止运行?我需要能够告诉它绑定到第一个子进程,或者阻止 Nginx 的初始进程退出。
为了扩展 Charles Duffy 的答案,Nginx 使用daemon off
指令在前台运行。如果不方便放在配置文件中,我们可以直接在命令行中指定。这使得可以轻松地在调试模式(前台)下运行,并通过更改命令行参数直接切换到在生产模式(后台)下运行。
要在前台运行:
nginx -g 'daemon off;'
要在后台运行:
nginx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)