我在一个Docker容器上安装了Nginx,并且试图像这样运行它:
docker run -i -t -p 80:80 mydockerimage /usr/sbin/nginx
问题在于,Nginx的工作方式是初始化过程立即产生一个主Nginx进程和一些工作者,然后退出。由于Docker只能观看原始命令的PID,容器会暂停。
我如何防止容器中止?我需要能够告诉它绑定到第一个子进程,或者停止Nginx的初始进程退出。
发布于 2018-03-05 09:51:29
nginx
,像所有行为良好的程序一样,可以配置为不自我守护进程。
使用http://wiki.nginx.org/CoreModule中daemon off
描述的配置指令。
发布于 2018-03-05 11:31:46
为了扩展Charles Duffy的答案,Nginx使用daemon off
指令在前台运行。如果将它放在配置文件中很不方便,我们可以直接在命令行中指定它。这使得通过改变命令行参数很容易在调试模式下运行(前台)并直接切换到生产模式(后台)运行。
在前台运行:
nginx -g 'daemon off;'
要在后台运行:
nginx
https://stackoverflow.com/questions/-100003569
复制相似问题