docker 部署 nacos 报错:No DataSource set
Contents
可能性有几种:
一:没有初始化 nacos 数据库,安装即可
https://raw.githubusercontent.com/alibaba/nacos/2.0.0/distribution/conf/nacos-mysql.sql二:可能安装的版本不适配,比如我是 m1 芯片的,需要找特别的版本
docker run -d -p 8848:8848 -p 9848:9848 -p 9555:9555 --name nacos-server \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.123.163 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai" \
--restart on-failure \
zill057/nacos-server-apple-silicon:2.0.3注意: 这个版本启动要用这个地址 http://127.0.0.1:8848/nacos/
登陆名/密码:nacos/nacos
三:MYSQL_SERVICE_HOST 没输入正确的内容
比如说上面的启动脚本中,我填得就是宿主机的 ip,因为 nacos 数据库就在本地数据库中。
四:本地数据库不支持远程访问,打开权限即可
以我用MySQL8为例
use mysql;
select host,user from user;
update user set host='%' where user='root';
flush privileges;MySQL8 以前的版本(注意替换自己的用户名、密码):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;