docker部署nacos集群

1. 环境准备

 这里我是部署的是nacos 2.0.3版本,mysql 5.7版本

172.20.1.130nacos1nacos服务
172.20.1.150nacos2nacos服务
172.20.1.161nacos3nacos服务
172.20.2.149mysqlmysql服务

2. 部署nacos集群

2.1 拉去nacos镜像(选用nacos2.0.3):三台服务器都需要执行

docker pull nacos/nacos-server:2.0.3

2.2 创建nacos日志路径 :三台服务器都需要执行

mkdir -p /home/nacos/logs

 2.3 执行docker命令:三台服务器分别执行

 2.3.1 nacos1(172.20.1.130)docker命令
docker run -d \
-e JVM_XMS=2g \
-e JVM_XMX=2g \
-e JVM_XMN=2g \
-e JVM_MS=128m \
-e JVM_MMS=320m \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVER_PORT=8848 \
-e NACOS_SERVERS="172.20.1.130:8848 172.20.1.150:8848 172.20.1.161:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.20.2.149 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_SERVER_IP=172.20.1.130 \
-v /home/nacos/logs:/home/nacos/logs \
--privileged=true \
--restart=always \
--network=host \
--name nacos1 \
nacos/nacos-server:2.0.3
 2.3.2 nacos2(172.20.1.150)docker命令
docker run -d \
-e JVM_XMS=2g \
-e JVM_XMX=2g \
-e JVM_XMN=2g \
-e JVM_MS=128m \
-e JVM_MMS=320m \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVER_PORT=8848 \
-e NACOS_SERVERS="172.20.1.130:8848 172.20.1.150:8848 172.20.1.161:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.20.2.149 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_SERVER_IP=172.20.1.150 \
-v /home/nacos/logs:/home/nacos/logs \
--privileged=true \
--restart=always \
--network=host \
--name nacos2 \
nacos/nacos-server:2.0.3

2.3.3 nacos3(172.20.1.161)docker命令

docker run -d \
-e JVM_XMS=2g \
-e JVM_XMX=2g \
-e JVM_XMN=2g \
-e JVM_MS=128m \
-e JVM_MMS=320m \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVER_PORT=8848 \
-e NACOS_SERVERS="172.20.1.130:8848 172.20.1.150:8848 172.20.1.161:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.20.2.149 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_SERVER_IP=172.20.1.161 \
-v /home/nacos/logs:/home/nacos/logs \
--privileged=true \
--restart=always \
--network=host \
--name nacos3 \
nacos/nacos-server:2.0.3

参数说明:

参数说明
-d支持后台运行模式
-e JVM_.....=...为jvm调优设置
-e PREFER_HOST_MODE=ip是否支持hostname,可选项:hostname/ip,默认值ip
-e MODE=cluster集群模式或者单独模式, 可选项:cluster/standalone,默认值cluster
-e NACOS_SERVER_PORT=8848nacos服务端口
-e NACOS_SERVERS="172.20.1.130:8848 172.20.1.150:8848 172.20.1.161:8848"nacos集群地址
-e SPRING_DATASOURCE_PLATFORM=mysql以mysql为nacos做数据持久化
-e MYSQL_SERVICE_HOST=172.20.2.149mysql地址
-e MYSQL_SERVICE_PORT=3306mysql访问地址
-e MYSQL_SERVICE_USER=rootmysql账号
-e MYSQL_SERVICE_PASSWORD=rootmysql密码
-e MYSQL_SERVICE_DB_NAME=nacos_configmysql使用库
-e MYSQL_SERVICE_DB_PARAM=xxxxxmysql常用连接参数
-e NACOS_SERVER_IP=172.20.1.130nacos单机注册地址
-v /home/nacos/logs:/home/nacos/logs挂在nacos运行日志
--privileged=true使用root权限运行容器
--network=host容器ip跟宿机一致
--restart=always容器自动运行
--name nacos1容器名字
nacos/nacos-server:2.0.3使用docker镜像

2.4 访问页面查看是否运行成功:IP:8848/nacos

我这里只有2台资源。没办法部署三台

3.安装nginx 做nacos负载均衡

upstream nacos{ 
	server 172.20.1.130:8848  max_fails=1 fail_timeout=60s;
	server 172.20.1.150:8848  max_fails=1 fail_timeout=60s;
	server 172.20.1.161:8848  max_fails=1 fail_timeout=60s;
}

server {
	
	location /nacos/
	{
		proxy_redirect off;
		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_pass http://nacos;
	}

..................
省略余下代码

3.1 访问地址,查看nginx是否部署成功

  • 35
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值