1 The maximum number of tolerable server reconnection errors has been reached
容器运行之后 order-service 一直保如上的错误,而 user-service 却可以正常访问,将 nacos 的连接信息单独抽取出来放到
bootstrap.yml
中提高优先级,重新打包并且放到主机上部署(最好先删除之前已经打包过的镜像)
参考:https://blog.csdn.net/m0_56864757/article/details/124996361
2 Mysql 密码错误
因为下载的
cloud-demo
文件夹中的 mysql 是已经启动过的,在
docker-compose.yml
中即使配置了密码也没用了,需要在 mysql 启动之后进入容器内部的 mysql 客户端,手动修改密码。
这里老师的密码本来是 123,我在
docker-compose.yml
中配置为 000000 不生效,进行如下操作:
# 进入容器dockerexec-it 容器id bash# 打开客户端
mysql -uroot-p123# 修改密码
ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '000000';
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '000000';
flush privileges;exit;# 重新启动需要访问 mysql 的容器docker-compose restart gateway user-service order-service
3 其他注意事项
- 注意服务名称一致
服务名称需要与代码中的配置文件对应,我一直是使用
user-service
这种格式,所以在
docker-compose.yml
和其他的所有地方都是这种格式,如果报服务没找到可以看看是不是名称错了(新手最好和老师保持完全一致,自己搞清楚了再随便改),也可以从 nacos 上查看注册了哪些服务和服务名称。
- 基础镜像问题
java:8-alpine
已经失效,修改为
openjdk:8
FROM openjdk:8
COPY ./app.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar
- 其他 多使用
docker logs -f xxx
查看容器的运行日志来排查问题
版权归原作者 孙看看 所有, 如有侵权,请联系我们删除。