Docker上Nacos1.2.1集群安装遇到的坑

参考https://blog.csdn.net/qq_43532386/article/details/105135848 在docker上安装nacos1.2.1失败了好几次。

使用docker logs -f -t --tail 100 nacos 我一直跟踪日志。

https://www.cnblogs.com/zoujiaojiao/p/12558946.html 一样,我也遇到了同样的问题:

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'MYSQL_SERVICE_HOST'

我试着给MYSQL_SERVICE_HOST赋值,错误居然跳过,于是我一个个试着给以下出错赋值(执行docker rm无数):

MYSQL_SERVICE_HOST

MYSQL_SERVICE_DB_NAME

MYSQL_SERVICE_USER

MYSQL_SERVICE_PASSWORD

结果还是运行失败,报错如下:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-1.2.1.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-1.2.1.jar!/com/alibaba/nacos/config/server/service/notify/AsyncNotifyService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverListService': Invocation of init method failed; nested exception is java.lang.RuntimeException: cannot get serverlist, so exit.

日志显示没有服务器清单,看到https://nacos.io/zh-cn/docs/quick-start-docker.html官网说明

Common property configuration

namedescriptionoption
MODEcluster模式/standalone模式cluster/standalone default cluster

 

mode默认是非单机模式,于是我又试着添加NACOS_SERVERS。

最终得到可以执行成功的如下docker执行命令:

docker run \
  --name nacos \
  --restart=always \
  --ip 172.17.0.3 \
  -d \
  -e NACOS_SERVERS=172.17.0.3:8848 \
  -e MYSQL_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=123456\
  -e MYSQL_MASTER_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_MASTER_SERVICE_PORT=3306 \
  -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_MASTER_SERVICE_USER=root \
  -e MYSQL_MASTER_SERVICE_PASSWORD=123456\
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_DATABASE_NUM=1 \
  -e NACOS_USER=nacos\
  -e NACOS_PASSWORD=nacos\
  -e JVM_XMS=512m \
  -e JVM_XMX=512m \
  -e JVM_XMN=256m \
  -e JVM_MS=32m \
  -e JVM_MMS=80m \
  -p 8848:8848 \
  nacos/nacos-server

集群安装:

//nacos-1
docker run \
  --name nacos-1 \
  --hostname=nacos-1 \
  --restart=always \
  --ip 172.17.0.3 \
  -d \
  -e NACOS_SERVERS=172.17.0.3:8848,172.17.0.4:8848,172.17.0.5:8848 \
  -e MYSQL_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=123456\
  -e MYSQL_MASTER_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_MASTER_SERVICE_PORT=3306 \
  -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_MASTER_SERVICE_USER=root \
  -e MYSQL_MASTER_SERVICE_PASSWORD=123456\
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_DATABASE_NUM=1 \
  -e NACOS_USER=nacos\
  -e NACOS_PASSWORD=nacos\
  -e JVM_XMS=512m \
  -e JVM_XMX=512m \
  -e JVM_XMN=256m \
  -e JVM_MS=32m \
  -e JVM_MMS=80m \
  -p 3333:8848 \
  nacos/nacos-server

//nacos-2
docker run \
  --name nacos-2 \
  --hostname=nacos-2 \
  --restart=always \
  --ip 172.17.0.4 \
  -d \
  -e NACOS_SERVERS=172.17.0.3:8848,172.17.0.4:8848,172.17.0.5:8848 \
  -e MYSQL_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=123456\
  -e MYSQL_MASTER_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_MASTER_SERVICE_PORT=3306 \
  -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_MASTER_SERVICE_USER=root \
  -e MYSQL_MASTER_SERVICE_PASSWORD=123456\
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_DATABASE_NUM=1 \
  -e NACOS_USER=nacos\
  -e NACOS_PASSWORD=nacos\
  -e JVM_XMS=512m \
  -e JVM_XMX=512m \
  -e JVM_XMN=256m \
  -e JVM_MS=32m \
  -e JVM_MMS=80m \
  -p 4444:8848 \
  nacos/nacos-server

//nacos-3
docker run \
  --name nacos-3 \
  --hostname=nacos-3 \
  --restart=always \
  --ip 172.17.0.5 \
  -d \
  -e NACOS_SERVERS=172.17.0.3:8848,172.17.0.4:8848,172.17.0.5:8848 \
  -e MYSQL_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=123456\
  -e MYSQL_MASTER_SERVICE_HOST=172.17.0.2 \
  -e MYSQL_MASTER_SERVICE_PORT=3306 \
  -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
  -e MYSQL_MASTER_SERVICE_USER=root \
  -e MYSQL_MASTER_SERVICE_PASSWORD=123456\
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_DATABASE_NUM=1 \
  -e NACOS_USER=nacos\
  -e NACOS_PASSWORD=nacos\
  -e JVM_XMS=512m \
  -e JVM_XMX=512m \
  -e JVM_XMN=256m \
  -e JVM_MS=32m \
  -e JVM_MMS=80m \
  -p 5555:8848 \
  nacos/nacos-server

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值