为什么使用CMD ["nginx", "-g", "daemon off;"]启动nginx容器

  • 前提知识
  • 总结

前提知识

  1. 容器只对主进程服务,当主进程退出的时候,容器也会退出。
  2. CMD在使用 shell 格式的话,真实的命令会被包装为 sh -c 的参数的形式进行执行的。例如,启用nginx的例子(当然这个命令是错误的):
CMD service nginx start

该命令会被包装为:

CMD [ "sh", "-c", "service nginx start"]

总结

结合上面两点,可以看出,启动nginx时,主进程其实是sh,而容器是因为sh这个主进程产生的,当该条命令执行完毕之后,sh作为主进程会退出,容器自然也会退出,因此导致nginx启动不了。所以需要使用
CMD ["nginx", "-g", "daemon off;"] 启动

为什么使用CMD [“nginx“, “-g“, “daemon off;“]启动nginx容器相关推荐

  1. 使用nginx -g daemon off启动nginx容器的原因

    背景知识: Docker 容器启动时,默认会把容器内部第一个进程,也就是pid=1的程序,作为docker容器是否正在运行的依据,如果 docker 容器pid=1的进程挂了,那么docker容器便会 ...

  2. 重启centOS丢失nginx.pid导致无法启动nginx的解决方法

    重启centOS丢失nginx.pid导致无法启动nginx的解决方法 参考文章: (1)重启centOS丢失nginx.pid导致无法启动nginx的解决方法 (2)https://www.cnbl ...

  3. docker运行nginx为什么要使用 nginx -g 'daemon off;'

    1.docker容器跑着为啥会挂掉? docker 容器默认会把容器内部第一个进程,也就是pid=1的程序作为docker容器是否正在运行的依据,如果docker 容器pid挂了,那么docker容器 ...

  4. docker启动nginx后挂了_Docker容器部署 Nginx服务

    1.查找 Docker Hub 上的 nginx 镜像 [root@localhost ~]# docker search nginx 2.拉取官方的Nginx镜像 [root@localhost ~ ...

  5. 启动Nginx、重启Nginx、停止Nginx与Nginx开机自启

    文章目录 启动 Nginx 停止 Nginx service 服务脚本 Nginx 开机自启 启动 Nginx nginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行 ./conf ...

  6. 启动nginx服务报错Job for nginx.service failed because the control process exited with error code.

    nginx使用service nginx restart报错 启动nginx服务时如果遇到这个错误 Job for nginx.service failed because the control p ...

  7. nginx 常用命令 保持启动 重载 开机启动等

    nginx 安装 Nginx 服务 查看 Nginx 版本 检查Nginx配置语法正确 启动 Nginx 服务 端口开启 开机自启动 重启 Nginx 服务 查看 Nginx 服务状态 重载 Ngin ...

  8. linux lnmp重启nginx,梳理三个常见Linux启动Nginx命令(包括Nginx 重启、停止、启动命令)...

    我们大部分网站或者WEB缓解都会使用Nginx引擎缓解,比如LNMP一键包.宝塔面板,或者其他的WEB环境,但是每个环境中启动和重启.停止Nginx命令是不同的.这里简单的梳理Linux启动Nginx ...

  9. nginx学习简介-安装-启动-命令-nginx配置文件详解

    nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器.同时也提供了IMAP/POP3/SMTP服务. nginx特点:开源.占内存少.轻量级.高性能(有报告表面nginx能支持高达 ...

最新文章

  1. 魔改GPT自动写网文,速度一秒十字,还能给太监作品无限续更 | 开源
  2. c++中ifstream一次读取整个文件
  3. mysql plugin filed_MySQL启动时报Plugin 'InnoDB' registration as a STORAGE ENGINE failed.错误
  4. Training的第十六天
  5. axios 最全 请求拦截器 响应拦截器 配置公共请求头 超时时间 以及get delete post put 四种请求传参方式
  6. 有用的SQL 语句(转)
  7. android刷新时的圆形动画_【Android】圆形揭露动画
  8. php书签源码,OneNav简约PHP导航书签源码
  9. Spring-web-MultipartFile上传文件
  10. go使用makefile
  11. Windows操作系统dos常见用法与常见问题
  12. php微博自动评论,新浪微博自动评论工具
  13. 博主自传——蒟蒻的OI之路
  14. 美国南加州大学骆沁毅:构建高性能的异构分布式训练算法
  15. 博林格林大学计算机排名,美国传媒研究生排名简述
  16. 微信小程序使用百度地图api
  17. shell 脚本批量检测主机存活状态
  18. HTML绘制交互图,基于 HTML5 Canvas 的交互式地铁线路图
  19. 如何使用 ffmpeg替代方式将webm转换为常用mp3格式
  20. 免费Google地图API使用说明

热门文章

  1. python好用的内置库_Python开发哪些库好?老男孩Python学习班
  2. 本科生学数据分析转行,能学会吗?
  3. MongoDB——索引类型之地理空间索引(Geospatial Index)
  4. c语言数组void,c语言数组问题
  5. [附源码]java毕业设计高考志愿智能推荐系统
  6. 山东商业职业技术学院计算机考试地点,超全小地图!山东农商行考试考场考点指南详情!...
  7. 8分钟带你彻底弄懂《线性代数》
  8. R语言 min-max规范化
  9. Dart 学习笔记一(操作符、方法与异常)
  10. HAUT 1261地狱飞龙 自适应辛普森 数值积分