错误信息

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'opsController' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-1.1.4.jar!/com/alibaba/nacos/config/server/controller/OpsController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dumpService': Invocation of init method failed; nested exception is java.lang.RuntimeException: Nacos Server did not start because dumpservice bean construction failure :
No DataSource set

主要原因是因为没有连接上本地mysql数据库
有些同学在启动nacos的时候明明配置了相关信息

docker run -d -e PREFER_HOST_MODE=hostname -e MODE=cluster -e NACOS_APPLICATION_PORT=8846 -e NACOS_SERVERS="127.0.0.1:8846 127.0.0.1:8847 127.0.0.1:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=127.0.0.1 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=a -e MYSQL_SERVICE_DB_NAME=nacos_config -e NACOS_SERVER_IP=127.0.0.1 -p 8846:8846 --name my-nacos1 nacos/nacos-server:2.0.3

下面这些属性不就是连接mysql数据库的相关配置吗?
SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=127.0.0.1 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=a -e
为什么还会报错?
值得注意的是docker是docker,主机是主机,所属的环境是不同的,所以我们在使用127.0.0.1连接数据库的时候,访问的不是主机,而是docker的虚拟环境,所以nacos才找不到mysql。
我们需要将MYSQL_SERVICE_HOST=127.0.0.1的ip地址改成主机的ip地址,如何查看主机ip地址呢?
win+r调出cmd窗口执行IPCONFIG回车找到IPv4,其指向的ip就是主机的ip
在这里插入图片描述

Logo

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

更多推荐