docker 启动mysql 闪退 无法启动问题

Posted panie2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 启动mysql 闪退 无法启动问题相关的知识,希望对你有一定的参考价值。

docker 安装mysql

【获取容器】

docker pull mysql:5.6

【启动容器】

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

【进入容器】

docker exec -it mymysql bash

docker 启动mysql 后 闪退,

【可能原因】:

虚拟内存不够,无法启动mysql

【检查方法】

1) 查看mysql 日志,报错信息包含 mmap() failed;errno 12
2) 查询服务器 虚拟内存 free

              total        used        free      shared  buff/cache   available
Mem:       65739420    28250540     8885936      480492    28602944    36320100
Swap:      0      0    0

发现 swap 都是0,确认 虚拟内存未启用

【解决方法】

启动swap

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

mkswap /swapfile

swapon /swapfile

重启容器

docker start mymysql

以上是关于docker 启动mysql 闪退 无法启动问题的主要内容,如果未能解决你的问题,请参考以下文章

docker下的mysql无法启动

045由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法

无法为 Django 和 Mysql 启动 docker 构建

启动zookeeper和kafka时 kafka无法启动或者闪退

启动tomcat闪退的解决办法

无法使用链接的 mysql 数据库在 docker 中启动应用程序