Docker-Compose一些常见的报错解决方法【部署微服务集群】

本文详细介绍了使用Docker部署微服务集群的步骤,包括启动Nacos服务、解决Nacos连接问题、处理MySQL权限问题及解决docker-compose版本过高导致的错误。在部署过程中可能遇到的错误如微服务无法连接Nacos、MySQL访问权限被拒绝及docker-compose命令不识别等,都有相应的解决方案提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部署微服务集群

① 上传编写好了docker-compose文件

② 启动nacos微服务

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.4.1

注意: nacos微服务启动之后一定要重启网关,否则在后续微服务会报错“failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried:”启动网关命令

systemctl restart firewalld.service 

③ linux默认不给docker-compose挂载的数据卷读写的权限,需要关闭selinux,mysql的数据卷才可以挂载成功

vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
重启虚拟机

④ 通过docker inspect查看容器的ip,修改自己的cloud-demo项目,将子项目nacos地址改为容器ip

⑤ 使用maven打包工具,将项目中的每个微服务都打包为app.jar

⑥ 将打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中

⑦ 将cloud-demo上传至虚拟机,利用 docker-compose up -d 来部署

注意:

  1. 通过docker logs -f xxx及时查看日志信息

  2. 错误1:查看微服务报错failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried:

    解决方案:先重启nacos,再重启防火墙systemctl restart firewalld.service

  3. 错误2:查看mysql日志permission denied

    原因分析:linux默认禁止docker-compose挂载数据卷,所以需要给予权限

    解决方案:修改文件vim /etc/sysconfig/selinux,将SELINUX=enforcing 改为 SELINUX=disabled,重启虚拟机

  4. 错误3: Access denied for user 'root'@'172.17.0.3' (using password: YES)

    解决方案:mysql密码错误,目前课前资料给的mysql密码设定的是123

  5. 错误4:Unable to start docker Container from docker-compose “unknown flag: iidfile”

    解决方案:docker-compose版本太高了,需要降下来

    百度网盘下载:https://pan.baidu.com/s/1cxuly3dRoZ8BgVklmxfriQ 密码:rcqi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值