首页 > 编程知识 正文

docker启动nginx容器,docker安装nginx额外模块

时间:2023-05-03 08:46:35 阅读:236893 作者:2434

docker下修改nginx配置文件不自动同步到容器内解决方法 之前的使用情况存在的问题解决方法

之前的使用情况

之前一直使用如下命令运行nginx容器,并将所有的配置信息都写到nginx.conf中

docker run -p 80:80 --name nginx_server -v /home/nginx/www:/var/www/html/website -v /home/nginx/logs/:/var/log/nginx -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:or -v /etc/localtime:/etc/localtime --restart=on-failure -d nginx 存在的问题

-v 可以挂载目录或文件
如果挂载目录,目录内文件有修改会同步到容器中
如果挂载文件,在宿主机上对文件修改不会同步到容器中
如果在宿主机内对nginx.conf进行修改无法同步到nginx容器中,将无法使用nginx -t 命令对nginx.conf配置测试,必须将nginx容器重启才能同步将修改的配置信息同步到容器中

解决方法

查看容器中的nginx.conf文件

user nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;}

容器中nginx会自动加载conf.d下的conf文件
去掉对nginx.conf的挂载,将所有的配置信息写到conf.d目录下的default.conf(或其它文件中,只要是.conf结尾即可)

docker run -p 80:80 --name nginx_server -v /home/nginx/www:/var/www/html/website -v /home/nginx/logs/:/var/log/nginx -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /etc/localtime:/etc/localtime --restart=on-failure -d nginx

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。