天天看點

docker desktop部署nacos叢集并連接配接主控端的mysql

1.nacos鏡像拉取、資料庫建表、擷取主控端ip請參考單機模式部署

https://blog.csdn.net/tyvbpq/article/details/119536749

2.一般情況下,docker desktop給容器配置設定的ip是從172.17.0.2開始,如果沒有指定容器ip或不确定ip的話,可以任意建立一個容器,查詢ip

yum install net-tools
或者
apt update
apt-get install net-tools
           

然後查詢ip

ifconfig
           
docker desktop部署nacos叢集并連接配接主要端的mysql

 3.建立3個nacos容器

docker run -d 
-e PREFER_HOST_MODE=hostname 
-e MODE=cluster 
-e NACOS_APPLICATION_PORT=8846 
-e NACOS_SERVERS=172.17.0.2:8846,172.17.0.3:8847,172.17.0.4:8848 
-e NACOS_SERVER_IP=172.17.0.2 
-e JVM_XMS=256m 
-e JVM_XMX=256m 
-e JVM_XMN=128m 
-p 8846:8846 
--name nacos8846 
--restart=always 
nacos/nacos-server

docker run -d -e PREFER_HOST_MODE=hostname -e MODE=cluster -e NACOS_APPLICATION_PORT=8847 -e NACOS_SERVERS=172.17.0.2:8846,172.17.0.3:8847,172.17.0.4:8848 -e NACOS_SERVER_IP=172.17.0.3 -e JVM_XMS=256m -e JVM_XMX=256m -e JVM_XMN=128m -p 8847:8847 --name nacos8847 --restart=always nacos/nacos-server

docker run -d -e PREFER_HOST_MODE=hostname -e MODE=cluster -e NACOS_APPLICATION_PORT=8848 -e NACOS_SERVERS=172.17.0.2:8846,172.17.0.3:8847,172.17.0.4:8848 -e NACOS_SERVER_IP=172.17.0.4 -e JVM_XMS=256m -e JVM_XMX=256m -e JVM_XMN=128m -p 8848:8848 --name nacos8848 --restart=always nacos/nacos-server
           

這裡使用了3個容器,每個容器端口号不同,便于區分

4.進入每個容器的conf/application.properties增加mysql配置,同樣參考單機部署

https://blog.csdn.net/tyvbpq/article/details/119536749

5.拉取nginx并建立一個容器

docker pull nginx
docker run -d -p 80:80 --name nginx nginx
           

6.進入容器,下載下傳vim并修改配置(也可以使用挂載)

apt update
apt-get install vim
vim /etc/nginx/conf.d/default.conf
           
upstream nacos {
    server 172.17.0.2:8846;
    server 172.17.0.3:8847;
    server 172.17.0.4:8848;
}

server {
    ...
    location / {
        ...
        proxy_pass http://nacos;
    }
    ...
}
           

7.重新開機3個nacos和1個nginx容器,然後依次通路以下域名驗證

http://localhost:8846/nacos

http://localhost:8847/nacos

http://localhost:8848/nacos

http://localhost/nacos

正常情況下看到的結果應該相同

docker desktop部署nacos叢集并連接配接主要端的mysql