docker搭建nacos集群并用mysql做持久化

发布于:2024-04-25 ⋅ 阅读:(23) ⋅ 点赞:(0)

1、首先需要准备四台机器,其中三台用于集群构建,IP地址分别为:IP1,IP2,IP3,一台用于mysql,IP地址为IP4
2、需要找到另外一台机器搭建mysql,用于持久化配置,并且新建数据库nacos_config,用于存放nacos的配置
3、到网站 nacos下载地址 上下载对应版本的nacos
4、找到下载文件的sql文件,运行sql文件进行建表

在这里插入图片描述
构建完的表结构
在这里插入图片描述

5、在三台机器上分别拉取镜像

docker pull nacos/nacos-server:v2.2.1

6、然后构建运行容器
6.1 第一台机器

docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=128m -e MODE=cluster -e PREFER_HOST_MODE=hostname -e NACOS_SERVER_PORT=8848 -e NACOS_SERVERS="IP1:8848 IP2:8848 IP3:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=IP4 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=xxxxxx -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_DATABASE_NUM=1 -e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=60000&socketTimeout=60000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true' -e NACOS_SERVER_IP=IP1 -e NACOS_AUTH_ENABLE=true -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 -e NACOS_AUTH_IDENTITY_KEY=nacos -e NACOS_AUTH_IDENTITY_VALUE=nacos -e NACOS_AUTH_USERNAME=admin -e NACOS_AUTH_PASSWORD=xxxxxx --privileged=true --restart=always --name nacos1 nacos/nacos-server:v2.2.1

6.2 第二台机器

docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=128m -e MODE=cluster -e PREFER_HOST_MODE=hostname -e NACOS_SERVER_PORT=8848 -e NACOS_SERVERS="IP1:8848 IP2:8848 IP3:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=IP4 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=xxxxxx -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_DATABASE_NUM=1 -e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=60000&socketTimeout=60000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true' -e NACOS_SERVER_IP=IP2 -e NACOS_AUTH_ENABLE=true -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 -e NACOS_AUTH_IDENTITY_KEY=nacos -e NACOS_AUTH_IDENTITY_VALUE=nacos -e NACOS_AUTH_USERNAME=admin -e NACOS_AUTH_PASSWORD=xxxxxx --privileged=true --restart=always --name nacos2 nacos/nacos-server:v2.2.1

6.3 第三台机器

docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=128m -e MODE=cluster -e PREFER_HOST_MODE=hostname -e NACOS_SERVER_PORT=8848 -e NACOS_SERVERS="IP1:8848 IP2:8848 IP3:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=IP4 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=xxxxxx -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_DATABASE_NUM=1 -e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=60000&socketTimeout=60000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true' -e NACOS_SERVER_IP=IP3 -e NACOS_AUTH_ENABLE=true -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 -e NACOS_AUTH_IDENTITY_KEY=nacos -e NACOS_AUTH_IDENTITY_VALUE=nacos -e NACOS_AUTH_USERNAME=admin -e NACOS_AUTH_PASSWORD=xxxxxx --privileged=true --restart=always --name nacos3 nacos/nacos-server:v2.2.1

7、进行访问

http://IP1:8848/nacos/index.html、http://IP2:8848/nacos/index.html、http://IP3:8848/nacos/index.html


网站公告

今日签到

点亮在社区的每一天
去签到