nginx在docker容器中自动生成配置文件

2020-06-17 06:38:42易采站长站整理

&& mkdir -p $BUILD_ROOT
&& cd $BUILD_ROOT
&& curl https://ftp.pcre.org/pub/pcre/pcre-$PCRE_VERSION.zip -o $BUILD_ROOT/pcre-$PCRE_VERSION.zip
&& curl https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz -o $BUILD_ROOT/openssl-$OPENSSL_VERSION.tar.gz
&& curl http://www.zlib.net/zlib-$ZLIB_VERSION.tar.gz -o $BUILD_ROOT/zlib-$ZLIB_VERSION.tar.gz
&& curl https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o $BUILD_ROOT/nginx-$NGINX_VERSION.tar.gz
&& tar vxzf nginx-$NGINX_VERSION.tar.gz
&& unzip pcre-$PCRE_VERSION.zip
&& tar vxfz zlib-$ZLIB_VERSION.tar.gz
&& tar vxfz openssl-$OPENSSL_VERSION.tar.gz
&& cd nginx-$NGINX_VERSION
&& BUILD_CONFIG="
--prefix=/etc/nginx
--sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
--with-openssl=$BUILD_ROOT/openssl-$OPENSSL_VERSION
--with-pcre=$BUILD_ROOT/pcre-$PCRE_VERSION
--with-zlib=$BUILD_ROOT/zlib-$ZLIB_VERSION
--with-http_ssl_module
--with-http_v2_module
--with-threads
"
&& mkdir -p /var/cache/nginx
&& ./configure $BUILD_CONFIG
&& make && make install
&& rm -rf $BUILD_ROOT
&& yum -y remove gcc gcc-c++ make perl zip unzip
&& yum clean all

#替换nginx默认文件
COPY nginx.conf /etc/nginx/
#添加自动生成配置文件的shell脚本
COPY 脚本名称 /root/

#暴露端口
EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

提醒:docker容器不支持后台运行,当命令执行之后,容器也会自然退出,这里我们需要将nginx配置文件设置一下


#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;
daemon off; //这里添加,关闭后台运行
events {
worker_connections 1024;
}

http {

您可能感兴趣的文章:Docker容器配置Nginx实例分享Docker 手动配置容器网络实例详解docker之点到点的容器网络的配置Docker配置容器位置与小技巧总结