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
posted @   panie2015  阅读(5342)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-10-11 Javaweb容器的四种作用域
点击右上角即可分享
微信分享提示