记录一次mysql因为配置文件错误导致在docker中无法启动的解决方式

背景

一个已经运行并且没有将配置文件等信息挂载到本地的mysql容器。在一次修改my.con配置文件之后,重新启动mysql容器刷新配置,但是容器一直启动失败,处于restarting的状态。

排查方式

最直接的方式是通过docker logs containerName 查看容器的日志信息,在日志中发现是因为配置文件一个参数拼错了,导致容器在重启之后一直启动失败。

解决方式

方法一(直接修改容器内文件):

使用docker inspect containerId(或者容器名称)指令,在获取到容器的元数据中找到对应数据:

 这个路径就是容器对应的文件数据,在里面找到对应的配置文件,mysql对应的文件地址在:/var/lib/docker/overlay2/6242a97b8d232d98efd90e1d4981925e9f1d509a0098dd869396bcd33a67889f/diff/etc/mysql/my.cnf,修改对应的参数,然后再次重新启动。

方法二(将容器中的文件复制到本地,修改完以后再复制到容器中):

使用docker cp mysql-1 containerId(或者容器名称) :/etc/mysql/my.cnf(要复制文件在容器中的位置)  /opt(本机位置) 将对应文件复制出来,修改完以后再用docker cp /opt(本机位置) containerId(或者容器名称) :/etc/mysql/my.cnf(要复制文件在容器中的位置)将文件复制回去。

总结

在修改配置文件的时候要注意仔细。当发现容器启动后无法使用时,先通过docker ps -a找到对应的容器,查看容器的状态,然后通过docker logs 命令,查看容器的运行log日志,找到对应的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值