WIN10 docker 安装 nacos 使用mysql数据库,解决重启后nacos无法连接数据库

2,512 阅读1分钟

1.拉取最新的最新的mysql

docker pull mysql -- 目前最新版本是8.0.22

2.防止重启系统后,mysql ip自动更改,所以自定义网络

docker network create --subnet=172.18.0.0 /24 somenetwork --

3.启动mysql

docker run --net somenetwork --ip 172.18.0.6 -d -p 3306:3306 --name mysql8.0  -v /E/WSL/dockerwsl2/mysql8.0/conf:/etc/mysql/conf.d -v /E/WSL/dockerwsl2/mysql8.0/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123456 --privileged=true --restart=always mysql  
--net somenetwork 使用刚才创建的网络,并且指定IP

4.拉取最新的nacos

docker pull nacos/nacos-server  
docker run --net somenetwork  --ip 172.18.0.8 -d -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=172.18.0.6 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=admin123456 -e MYSQL_SERVICE_DB_NAME=nacos -p 8848:8848 --name nacos   -v /E/WSL/dockerwsl2/nacos/logs/:/home/nacos/logs nacos/nacos-server  -v /E/WSL/dockerwsl2/nacos/conf/:/home/nacos/init.d/  
--net somenetwork 与mysql使用同一个自定义网络,防止重启后IP自动改变

5.重启后,nacos会报错,无法连接数据库

nacos.png

进入容器  
cd conf  
vi application.pproperties  
-- 配置修改  
spring.datasource.platform=mysql
db.num=1 allowPublicKeyRetrieval=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos_devtest
db.password=youdontknow

-- ip 指定为数据库的IP