1.首先配置nacos集群
[https://blog.csdn.net/qq_43532386/article/details/105135848]
2.下载nginx镜像
docker pull nginx
3.运行
目的:为了获取配置文件 nginx.conf
docker run --name nginx-test -p 8080:80 -d nginx
4.获取nginx.conf
docker cp nginx-test:/etc/nginx/nginx.conf /home/local
5.修改配置文件
vim /home/local/nginx.conf
在nginx.conf下面直接加入
upstream nacos {
server 172.17.0.3:8848 weight=1 max_fails=2 fail_timeout=10s;
server 172.17.0.4:8848 weight=1 max_fails=2 fail_timeout=10s;
server 172.17.0.5:8848 weight=1 max_fails=2 fail_timeout=10s;
}
server{
listen 1111;
server_name 192.168.142.128;
location / {
proxy_pass http://nacos;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
add_header Cache-Control no-cache;
}
}
upstream里面的server ip+端口 为集群的结点ip
server server_name为当前虚拟机的ip地址
6.运行
docker run -p 80:80 --net host --name mynginx -v /home/local/nginx.conf:/etc/nginx/nginx.conf --privileged=true -d nginx
遇到的问题
1.端口配置没有用
解决:
一开始run运行镜像时,没有加 - -net host ,导致docker里面的容器的ip无法识别
2.配置后访问502
upstream里面的ip+端口应该与nacos里面的一致
3.访问404
访问路径问题
http://192.168.142.128:1111/nacos(虚拟机ip+1111端口+/nacos( !!! ))