2、创建挂载目录docker pull nginx
3、从容器中复制nginx.conf及conf.d文件夹mkdir -p /usr/local/docker/nginx/conf
mkdir -p /usr/local/docker/nginx/log
mkdir -p /usr/local/docker/nginx/html
4、删除原nginx容器,改用挂载方式启动docker run --name nginx -p 9001:80 -d nginx
docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /usr/local/docker/nginx/conf/conf.d
5、在html中随便写点东西docker ps -a
docker stop e9e3f9420512
docker rm e9e3f9420512
docker run -p 9001:80 --name nginx -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /usr/local/docker/nginx/log:/var/log/nginx -v /usr/local/docker/nginx/html:/usr/share/nginx/html -d nginx
6、ip+Port 验证下 二、配置反向代理 1、找到nginx.configNginx Get
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
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;
upstream resinserver{
ip_hash; # 这边是使用的iphash,默认是轮询
server ip:port01;
server ip:port02;
}
server{
listen 80;
charset utf-8;
server_name 你浏览器上输入的ip;
location / {
proxy_pass http://resinserver;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
如上图改一下即可。灰色的是需要复制加上去的,然后把自己的ip+port改成你自己的就可以了。
然后把容器重启下即可。
前端页面找不到 404。 如下图所示要注意的:
我发现一个问题,如我上篇文章所言。使用sh脚本一键更新后,只有一个容器更新了代码,另外一个容器没有更新。所以针对多容器这种情况还需要完善下脚本。
特别鸣谢大佬的文章:https://blog.csdn.net/weixin_41485724/article/details/108557964



