docker启动mysql容器后自动Exited

当Docker容器无法正常启动时,本文提供了一套详细的排查步骤。首先,确认是否以守护进程模式运行容器。如果容器启动后瞬间退出,可能是内存或配置文件问题。通过启用swap解决内存问题,检查并修正配置文件错误,如MySQL的docker.cnf。通过`docker logs`查看容器日志以定位具体错误,并使用`docker cp`进行文件操作以修复配置。遵循这些步骤,最终成功启动并保持容器稳定运行。

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

首先,确认创建容器的时候添加了-d参数,以守护进程的方式运行容器。
或者,之前容器能够正常启动,突然启动不了,可以参考下面的解决方案。

使用free命令查看内存状态

[root@VM-16-15-centos ~]# free
              total        used        free      shared  buff/cache   available
Mem:        3826336     2077648      504884        2208     1243804     1489452
Swap:             0           0           0

swap都是0,虚拟内存未启用,执行以下三行,启动swag

dd if=/dev/zero of=/swapfile bs=1M count=1024

mkswap /swapfile

swapon /swapfile

再次启动容器后,容器正常运行
在这里插入图片描述-------------------------------------------------割-----------------------------------------------

有些问题到这里可能就已经解决了,然而我遇到的情况可能还要复杂一些,容器启动后,docker ps可查,可几秒钟后,又自动exited了。这个时候,应该就是容器自身的问题了,使用docker logs --tail 100 <容器id>查看容器日志,看到有报错。
在这里插入图片描述报错看着像是之前为了修改密码添加配置文件参数报错了。容器启动不了,但又需要修改容器内部的配置。查看了以下,当初创建这个mysql容器时没有添加容器数据卷,所以只能把里面的文件复制出来,改了再复制回去了。

docker cp <容器id>:/etc/mysql/conf.d/docker.cnf /root/mysql.cnf

然后修改宿主机上的/root/mysql.cnf文件,再复制回去

docker cp /root/mysql.cnf <容器id>:/etc/mysql/conf.d/docker.cnf

再次启动容器后,终于运行正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

穿条秋裤到处跑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值