linux - 如何在不停止的情况下在 Docker 容器中运行 Nginx?

我在 Docker 容器上安装了 Nginx,并尝试像这样运行它:

docker run -i -t -p 80:80 mydockerimage /usr/sbin/nginx

问题在于 Nginx 的工作方式是初始进程立即生成一个主 Nginx 进程和一些工作人员,然后退出。由于 Docker 只监视原始命令的 PID,因此容器会停止。

如何防止容器停止?我需要能够告诉它绑定(bind)到第一个子进程,或者阻止 Nginx 的初始进程退出。

最佳答案

为了扩展 Charles Duffy 的回答,Nginx 使用 daemon off 指令在前台运行。如果不方便放在配置文件中,我们可以直接在命令行中指定。这样可以很容易地在 Debug模式(前台)下运行,并通过更改命令行参数直接切换到在生产模式下(后台)运行。

在前台运行:

nginx -g 'daemon off;'

在后台运行:

nginx

https://stackoverflow.com/questions/18861300/

相关文章:

python - 有没有类似 RStudio for Python 的东西?

linux - 如何设置 curl 以永久使用代理?

linux - 如何仅在脚本期间设置环境变量?

python - 如何检查平面列表中是否有重复项?

shell - 如何在后台运行命令并且没有输出?

python - 查找列表中最常见的元素

python - Python中的多级 'collection.defaultdict'

linux - 如何指定编辑器来打开 crontab 文件? "export EDITOR=vi"不

linux - 为什么 find -exec mv {} ./target/+ 不起作用?

linux - 目录中所有文件内容的总大小