1. 为什么写这篇文章
记录一下踩坑,因为naocs在docker上反复自动退出,所以在网上查到说删除容器(docker rm name/id),重启一个就好了,但是由于对docker的操作不熟悉,并不会文件挂载等一些操作,所以只能先重启nacos,然后再修改nacos 的application.properties,但是就这样一个小操作任然踩坑几小时,实属不该;
2.具体踩坑排错流程
2.1 首先是重启nacos,我的docker下载的是nacos-server:v2.0.3,所以重启命令是
docker run --name nacos -e MODE=standalone -d -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.0.3
我的需求只要单机启动即可;
2.2 进入nacos容器
docker exec -it nacos bash
2.3.cd 到conf文件夹下,打开application.properties,文件进行编辑
1. cd conf
2. vim application.properties
2.4 开始修改配置文件
# 连接数据库的操作,主要修改这一部分数据就行;
# spring
server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
server.contextPath=/nacos
server.port=${NACOS_APPLICATION_PORT:8848}
# spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
# 改为
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:mysql}
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
db.num=${MYSQL_DATABASE_NUM:1}
#db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
# 修改为
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:mysqlIp}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos_config}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
# db.url.1直接注释掉,修改db.url.0就行了;
#db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
# db.user=${MYSQL_SERVICE_USER}
# 改为
db.user=${MYSQL_SERVICE_USER:root}
#db.password=${MYSQL_SERVICE_PASSWORD}
# 改为
db.password=${MYSQL_SERVICE_PASSWORD:10086}
### The auth system to use, currently only 'nacos' is supported:
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
需要注意的几点:1. mysql的ip地址,这里如果是跑的虚拟机/云服务器; 直接写虚拟机/云服务器的地址就行,或者写docker中mysql的地址也行(前提是你的mysql和nacos都跑在一个docker上,否则只建议使用直接的IP地址)
#查看docker中mysql的IP地址
docker inspect mysql
#mysql是docker中的mysql容器的名字,注意自己的容器名字
2.5 报存退出和重启
# 修改好application.properties文件后
1. 按exc建 和 : 输入 wq 保存退出
2. exit 退出nacos 容器
3. docker restart nacos(这里也是nacos的容器名字,请按照你自己的写)
4. docker ps -a / docker ps 查看容器运行状态
注意:这里使用 docker ps后发现nacos容器在运行,但是其实内部可能由于配置错误,错误了,如msyql的IP地址不对,会报No DataSource set 的错误 ;所以使用logs再检查一下;
5. docker logs nacos(这里也是nacos的容器名字,请按照你自己的写) 检查自己nacos实际运行情况;
2.6 输入网址查看查看nacos的服务http://你的ip地址/nacos/#/,账号密码都是nacos
3. 总结
3.1 写到这里发现没有写mysql建表,所以干脆再写一篇,地址如下;
docker 安装mysql文章来源:https://www.toymoban.com/news/detail-579708.html
3.2 最后发现自己跑不起来的原因就是mysql的密码弄错了,这再一次的证明了我是一个没有记性的人,写这篇文章就是为了让自己涨涨记性。 文章来源地址https://www.toymoban.com/news/detail-579708.html
到了这里,关于Docker 小白快速配置nacos连接mysql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!