
2020年9月15日本次拉取nacos鏡像為1.3.2 鏡像自己拉取
在一台虛擬機上模擬,資源有限。mysql采用5.7 ,數據庫初始化腳本:https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
docker run -d \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8846 \ -e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.100.132 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.100.132 \ -p 8846:8846 \ --name nacos8846 \ nacos/nacos-server:1.3.2 docker run -d \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8847 \ -e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.100.132 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.100.132 \ -p 8847:8847 \ --name nacos8847 \ nacos/nacos-server:1.3.2 docker run -d \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8848 \ -e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.100.132 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.100.132 \ -p 8848:8848 \ --name nacos8848 \ nacos/nacos-server:1.3.2
配置說明:
docker run -d \ # -d表示是后台運行 -e MODE=cluster \ # 以集群模式運行 -e NACOS_APPLICATION_PORT=8846 \ # 這台Nacos服務的port是8846 -e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 \ # Nacos集群的所有機器的信息 -e SPRING_DATASOURCE_PLATFORM=mysql \ # 使用外置MySQL存儲配置信息 -e MYSQL_SERVICE_HOST=192.168.100.132 \ # 外置MySQL的IP -e MYSQL_SERVICE_PORT=3306 \ # 外置MySQL的port -e MYSQL_SERVICE_USER=root \ # 外置MySQL的用戶名 -e MYSQL_SERVICE_PASSWORD=123456 \ # 外置MySQL的密碼 -e MYSQL_SERVICE_DB_NAME=nacos_config \ # 外置MySQL的數據庫,也就是Nacos的配置文件要存儲得到哪個數據庫,這個在單機版Nacos使用外置數據庫時候介紹過 -e NACOS_SERVER_IP=192.168.100.132 \ # 這台Nacos服務的IP -p 8846:8846 \ # 容器外部端口映射 --name nacos8846 \ # 給容器起個名字吧 nacos/nacos-server:1.3.2 # 運行哪個鏡像
常見坑點:官網使用的是NACOS_SERVER_PORT,對於nacos/nacos-server:1.3.2鏡像,自定義Nacos端口號的時候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因為conf/application.properties里寫了。

查看啟動的容器:

分別訪問:默認賬號:nacos 默認密碼:nacos
http://192.168.100.132:8846/nacos
http://192.168.100.132:8847/nacos
http://192.168.100.132:8848/nacos

由Nginx進行轉發(nginx下部署了3台Nacos集群)配置文件自行修改
upstream cluster {
server 192.168.100.132:8846;
server 192.168.100.132:8847;
server 192.168.100.132:8848;
}
location / {
proxy_pass http://cluster;
}
訪問http://192.168.100.132/nacos

修改項目中的配置文件
spring:
application:
name: my-provider01
cloud:
nacos:
discovery:
server-addr: 192.168.100.132:80 # 指向Nginx,由Nginx進行轉發(nginx下部署了3台Nacos集群)
