Nacos - 通过Docker 部署nacos 的集群版本 3实例
1、获取镜像
docker pull nacos/nacos-server
2、运行镜像,外部数据库模式
按自己的实际配置填充 ******
部分的配置即可
配置一
docker run \
--name nacos-1 \
--hostname=nacos-1 \
--restart=always \
-d \
-e MYSQL_MASTER_SERVICE_HOST=****** \
-e MYSQL_MASTER_SERVICE_PORT=****** \
-e MYSQL_MASTER_SERVICE_DB_NAME=****** \
-e MYSQL_MASTER_SERVICE_USER=****** \
-e MYSQL_MASTER_SERVICE_PASSWORD=****** \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e NACOS_USER=nacos.test \
-e NACOS_PASSWORD=****** \
-e NACOS_SERVERS=172.17.0.2:8848,172.17.0.7:8848,172.17.0.8:8848 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 65210:8848 \
nacos/nacos-server
配置二
docker run \
--name nacos-2 \
--hostname=nacos-2 \
--restart=always \
-d \
-e MYSQL_MASTER_SERVICE_HOST=****** \
-e MYSQL_MASTER_SERVICE_PORT=****** \
-e MYSQL_MASTER_SERVICE_DB_NAME=****** \
-e MYSQL_MASTER_SERVICE_USER=****** \
-e MYSQL_MASTER_SERVICE_PASSWORD=****** \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e NACOS_USER=nacos.test \
-e NACOS_PASSWORD=****** \
-e NACOS_SERVERS=172.17.0.2:8848,172.17.0.7:8848,172.17.0.8:8848 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 65211:8848 \
nacos/nacos-server
配置三
docker run \
--name nacos-3 \
--hostname=nacos-3 \
--restart=always \
-d \
-e MYSQL_MASTER_SERVICE_HOST=****** \
-e MYSQL_MASTER_SERVICE_PORT=****** \
-e MYSQL_MASTER_SERVICE_DB_NAME=****** \
-e MYSQL_MASTER_SERVICE_USER=****** \
-e MYSQL_MASTER_SERVICE_PASSWORD=****** \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e NACOS_USER=nacos.test \
-e NACOS_PASSWORD=****** \
-e NACOS_SERVERS=172.17.0.2:8848,172.17.0.7:8848,172.17.0.8:8848 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 65212:8848 \
nacos/nacos-server
3、通过nginx 做负载均衡
upstream nacos {
server localhost:65210 weight=1 max_fails=2 fail_timeout=10s;
server localhost:65211 weight=1 max_fails=2 fail_timeout=10s;
server localhost:65212 weight=1 max_fails=2 fail_timeout=10s;
}
location ~* \.(php|jsp|cgi|asp|aspx)$
{
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;
}
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;
#Set Nginx Cache
add_header Cache-Control no-cache;
}