千家信息网

docker运行nginx要使用daemon off的原因是什么

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍docker运行nginx要使用daemon off的原因是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!遇到这个问题,就要讲讲docker容器的进程原理了
千家信息网最后更新 2025年12月02日docker运行nginx要使用daemon off的原因是什么

这篇文章主要介绍docker运行nginx要使用daemon off的原因是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

遇到这个问题,就要讲讲docker容器的进程原理了,基本上了解过docker的人都清楚docker的几个隔离方式,那么进程同样是进行隔离。

问题

1.docker容器跑着为啥会挂掉?

docker 容器默认会把容器内部第一个进程,也就是pid=1的程序作为docker容器是否正在运行的依据,如果docker 容器pid挂了,那么docker容器便会直接退出。

2.docker run的时候把command最为容器内部命令,如果你使用nginx,那么nginx程序将后台运行,这个时候nginx并不是pid为1的程序,而是执行的bash,这个bash执行了nginx指令后就挂了,所以容器也就退出了,和你这个一样的道理,pm2 start 过后,bash 的pid为1,那么此时bash执行完以后会退出,所以容器也就退出了。

下面我使用实例告诉why we do this!!

touch file get_pid

echo "PID of this script: $$"echo "PPID of this script: $PPID"echo "UID of this script: $UID"#nginx -g 'daemon off;'

此时我们启动容器去执行这个sh文件

odtoy:~ zhaojunlike$ eval `docker-machine env default`godtoy:~ zhaojunlike$ cd WorkSpace/godtoy:WorkSpace zhaojunlike$ lsdocker  nodejs  php  pid_getgodtoy:WorkSpace zhaojunlike$ vim pid_get godtoy:WorkSpace zhaojunlike$ docker run -v `pwd`/pid_get:/pid_get:ro --rm --workdir=/ nginx bash /pid_getPID of this script: 1PPID of this script: 0UID of this script: 0godtoy:WorkSpace zhaojunlike$

在容器执行完pid_get 后,容器也就自动退出了,这个时候,打印出了当前的bash运行的pid是1。

所以,如果我们想让容器不挂掉,那么非守护进行的执行是必须得,当然下面也能去让一个容器内部,执行

godtoy:WorkSpace zhaojunlike$ docker run -it nginx bashroot@a8baa5fe77f0:/# nginxroot@a8baa5fe77f0:/# godtoy:WorkSpace zhaojunlike$

我们使用-it参数可以连接到容器内部的管道,然后我们在容器内部使用nginx命令。最后Ctrl+P+Q退出容器后,容器依然运行。

总结

如果楼主是需要去在docker中使用node,那么就没必要去安装pm2等工具了,直接node,如果你怕你的容器会挂掉,可以加上restart等相关参数比如`docker run .... --restart=always

以上是"docker运行nginx要使用daemon off的原因是什么"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

容器 运行 时候 程序 进程 原因 内容 参数 命令 篇文章 问题 隔离 清楚 必要 也就是 价值 兴趣 原理 后台 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 东盟地区论坛网络安全 科技互联网的股票代码 外国人在中国应遵守的网络安全法 抓好网络安全防范的措施方法 广州运维管理软件开发机构 什么是运营商最新服务器 网络安全行业swot 在家里连接免费网络安全吗 如何实现数据库的删除增加 望远县政务软件开发找哪家 数据库管理技术经过了几个阶段 庭凡网络技术有限公司 山东微商分销系统软件开发 信息与网络技术专业学什么 nps二维码服务器如何使用 如果管理服务器机房 戴尔r410服务器远程管理密码 教务系统数据库视图 动汇网络技术有限公司 一起发网络技术有限公司 方舟为什么加入不了朋友的服务器 智能化网络技术有限公司 抓好网络安全防范的措施方法 通州区网络技术服务概况 软件开发转正考核内容 三国演义笔记软件开发 软件开发单元测试有哪些内容 客户服务器怎么操作 软件开发资产负债表 服务器的 配置与管理软件
0