情形1、内嵌derby为数据源
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=derby \
-e MODE=standalone \
--network=host \
--name nacos \
--restart=always \
nacos/nacos-server

情形2、使用外部MySQL作为数据源,单机 非集群方式

需要先创建好数据库以及对应的表(执行nacos-msql.sql即可),数据库的端口、用户名等信息自行修改。

docker run -d \
--name nacos \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=MySQL数据库的服务器地址 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=MySQL密码 \
-e MYSQL_SERVICE_DB_NAME=连接的数据库名称,需要创建数据库执行nacos-mysql.sql脚本 \
--network=host \
nacos/nacos-server
情形3、集群的方式启动nacos(后面进行更新)

实际上nacos集群只需要做到数据统一即可,也就是使用统一的数据源即可做到集群部署
那么只需要将端口映射部分更改一下即可
去掉情形2的–network=host 改成 -p 8847:8848 或者-p 8849:8848 这类即可

以下面的3台nacos为例,假设预搭建的nacos集群服务器地址是:192.168.117.200:8847、192.168.117.200:8848、192.168.117.200:8849
我们准备使用nginx代理这3台服务nacos进行负载均衡

第一台nacos服务器

docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=cluster \
-e NACOS_SERVERS="192.168.117.200:8847 192.168.117.200:8848 192.168.117.200:8849" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=yumbo.top \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e NACOS_SERVER_IP=192.168.117.200 \
-p 8847:8848 \
--name nacos1 \
nacos/nacos-server
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐