码迷,mamicode.com
首页 > 其他好文 > 详细

Dockerfile构建nginx镜像以及使用nginx -g "daemon off;"方式前台运行

时间:2020-01-28 12:11:39      阅读:839      评论:0      收藏:0      [点我收藏+]

标签:后台运行   编写   gcc   conf   color   local   docke   访问   程序   

  • 编写安装nginx的shell脚本
    • #!/bin/bash
      yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel
      cd /usr/local/nginx-1.16.0
      ./configure --prefix=/usr/local/nginx && make && make install
  • dockerfile
    •  FROM  centos:7
      ADD nginx-1.16.0.tar.gz /usr/local
      COPY nginx_install.sh /usr/local
      RUN sh /usr/local/nginx_install.sh
      EXPOSE 80
  • 制作nginx镜像
    • docker build -t mycentos:nginx .
  • nginx镜像启动注意
    • 在容器里nginx是以daemon方式启动,退出容器时,nginx程序也会随着停止
    • /usr/local/nginx/sbin/nginx 使用前台方式永久运行:/usr/local/nginx/sbin/nginx -g "daemon off;"
      • Docker 容器启动时,默认会把容器内部第一个进程,也就是pid=1的程序,作为docker容器是否正在运行的依据,如果 docker 容器pid=1的进程挂了,那么docker容器便会直接退出。
        
        Docker未执行自定义的CMD之前,nginx的pid是1,执行到CMD之后,nginx就在后台运行,bash或sh脚本的pid变成了1。
        
        所以一旦执行完自定义CMD,nginx容器也就退出了。
  • 检查验证
    • docker run -itd -p 80:80 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
  • 访问宿主机80端口即可看到nginx访问信息

 

Dockerfile构建nginx镜像以及使用nginx -g "daemon off;"方式前台运行

标签:后台运行   编写   gcc   conf   color   local   docke   访问   程序   

原文地址:https://www.cnblogs.com/weisunblog/p/12237696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!