docker一直提示:Access denied for user 'root'@'172.16.0.2' (using password: YES)

3 篇文章 0 订阅
1 篇文章 0 订阅

  今天在部署一个docker应用的时候,部署完毕报了这个错。一直在找各种问题,一开始从docker开始找,找到mysql,最后又回到docker,不断地删除容器、修改mysql配置,但是花了几个小时也没找到原因。

  这个应用是由两个docker容器构成,一个主要的容器,另一个mysql容器,尝试了各种可能之后确定了应该是密码错误的问题,最终决定找出mysql连接的密码配置。查看Dockerfile发现这一句话:

ADD config/* /etc/syzoj-config/

  这里是把宿主机的配置文件复制到docker里了。于是登录上docker bash,找到配置文件,果然是mysql密码错了。再仔细看了看,原来这个密码是我在第一遍构建的时候改错的。但是为什么之后删除容器仍然没用呢?我猜是缓存问题,但是由于对docker不熟悉我,这种docker-compose构建方式我不知道如何清除缓存重新构建。最后我把正确的文件复制到docker容器中,然后重新启动容器,问题解决。

  总结:

1、在对docker不熟悉的情况下使用docker会造成很多麻烦;

2、排查问题要思路清晰:已经知道非mysql权限问题(远程能够登录),那么几乎必定是密码错误了,接下来找到密码配置文件就可以。而中间我居然还去搜了搜是否和ipv6有关,来来回回耗费了大半天。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vansl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值