docker容器中安装mysql5.7报错:fatal error: runtime: out of memory fatal error: runtime: out of memory

在尝试在Docker容器内安装MySQL5.7时遇到内存不足的致命错误,导致安装失败。首先尝试通过重启Docker服务来解决问题,命令为`systemctl restart docker`,然后运行指定的Docker命令启动MySQL容器。如果仍然失败,可能需要清理已安装的内核,如`yum remove kernel-tools-3.10.0-1160.59.1.el7.x86_64`,并删除MySQL的镜像和容器。再次尝试启动容器,如果问题依旧,建议检查主机系统的资源分配或寻找其他解决方案。

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

docker容器中安装mysql5.7报错:fatal error: runtime: out of memory
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x55a8021b6e0f, 0x16)
	/usr/local/go/src/runtime/panic.go:1117 +0x74 fp=0x7ffc5d4bcf90 sp=0x7ffc5d4bcf60 pc=0x55a800b97fb4
runtime.sysMap(0xc000000000, 0x4000000, 0x55a803816b50)
	/usr/local/go/src/runtime/mem_linux.go:169 +0xc7 fp=0x7ffc5d4bcfd0 sp=0x7ffc5d4bcf90 pc=0x55a800b7a6e7
runtime.(*mheap).sysAlloc(0x55a8037fcd40, 0x400000, 0x0, 0x0)
	/usr/local/go/src/runtime/malloc.go:729 +0x1d4 fp=0x7ffc5d4bd078 sp=0x7ffc5d4bcfd0 pc=0x55a800b6d894
runtime.(*mheap).grow(0x55a8037fcd40, 0x1, 0x0)
	/usr/local/go/src/runtime/mheap.go:1346 +0x85 fp=0x7ffc5d4bd0e0 sp=0x7ffc5d4bd078 pc=0x55a800b89945
runtime.(*mheap).allocSpan(0x55a8037fcd40, 0x1, 0x2c00, 0x0)
	/usr/local/go/src/runtime/mheap.go:1173 +0x609 fp=0x7ffc5d4bd160 sp=0x7ffc5d4bd0e0 pc=0x55a800b89749
runtime.(*mheap).alloc.func1()
	/usr/local/go/src/runtime/mheap.go:910 +0x5a fp=0x7ffc5d4bd1b0 sp=0x7ffc5d4bd160 pc=0x55a800bc579a
runtime.(*mheap).alloc(0x55a8037fcd40, 0x1, 0x220000012c, 0xffffffff)
	/usr/local/go/src/runtime/mheap.go:904 +0x85 fp=0x7ffc5d4bd200 sp=0x7ffc5d4bd1b0 pc=0x55a800b88ce5
runtime.(*mcentral).grow(0x55a80380f078, 0x0)
	/usr/local/go/src/runtime/mcentral.go:232 +0x7b fp=0x7ffc5d4bd248 sp=0x7ffc5d4bd200 pc=0x55a800b79cdb
runtime.(*mcentral).cacheSpan(0x55a80380f078, 0x7ffc5d4bd2f8)
	/usr/local/go/src/runtime/mcentral.go:158 +0x2ff fp=0x7ffc5d4bd2a0 sp=0x7ffc5d4bd248 pc=0x55a800b79abf
runtime.(*mcache).refill(0x7f605facc108, 0x2c)
	/usr/local/go/src/runtime/mcache.go:162 +0xac fp=0x7ffc5d4bd2e8 sp=0x7ffc5d4bd2a0 pc=0x55a800b78fcc
runtime.(*mcache).nextFree(0x7f605facc108, 0x7ffc5d4bd32c, 0x55a800bc4347, 0x7ffc5d4bd388, 0x55a800b6f3be)
	/usr/local/go/src/runtime/malloc.go:882 +0x8d fp=0x7ffc5d4bd320 sp=0x7ffc5d4bd2e8 pc=0x55a800b6e0ed
runtime.mallocgc(0x178, 0x55a8029f1120, 0x7ffc5d4bd301, 0x7ffc5d4bd408)
	/usr/local/go/src/runtime/malloc.go:1069 +0x870 fp=0x7ffc5d4bd3a8 sp=0x7ffc5d4bd320 pc=0x55a800b6eb10
runtime.newobject(0x55a8029f1120, 0x55a800bc4300)
	/usr/local/go/src/runtime/malloc.go:1177 +0x3a fp=0x7ffc5d4bd3d8 sp=0x7ffc5d4bd3a8 pc=0x55a800b6ed7a
runtime.malg(0x8000, 0x0)
	/usr/local/go/src/runtime/proc.go:3988 +0x33 fp=0x7ffc5d4bd418 sp=0x7ffc5d4bd3d8 pc=0x55a800ba3333
runtime.mpreinit(0x55a8037e4fc0)
	/usr/local/go/src/runtime/os_linux.go:355 +0x2b fp=0x7ffc5d4bd438 sp=0x7ffc5d4bd418 pc=0x55a800b949eb
runtime.mcommoninit(0x55a8037e4fc0, 0xffffffffffffffff)
	/usr/local/go/src/runtime/proc.go:744 +0xfa fp=0x7ffc5d4bd480 sp=0x7ffc5d4bd438 pc=0x55a800b9befa
runtime.schedinit()
	/usr/local/go/src/runtime/proc.go:637 +0xb3 fp=0x7ffc5d4bd4e0 sp=0x7ffc5d4bd480 pc=0x55a800b9ba73
runtime.rt0_go(0x7ffc5d4bd5e8, 0xc, 0x7ffc5d4bd5e8, 0x0, 0x7f605f12d555, 0x2000000000, 0x7ffc5d4bd5e8, 0xc00000000, 0x55a800bccea0, 0x0, ...)
	/usr/local/go/src/runtime/asm_amd64.s:220 +0x129 fp=0x7ffc5d4bd4e8 sp=0x7ffc5d4bd4e0 pc=0x55a800bccfe9

解决方案:

[root@CENTOS1 /]# systemctl restart docker

[root@CENTOS1 /]# docker run -di --name mysql -v mysql1:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
在这里插入图片描述
若果还是失败,按照以下解决方案:

删除安装过的内核
[root@CENTOS1 ~]# rpm -qa | grep kernel
kernel-3.10.0-1160.59.1.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-devel-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.53.1.el7.x86_64
kernel-devel-3.10.0-1160.53.1.el7.x86_64
kernel-tools-3.10.0-1160.59.1.el7.x86_64
kernel-headers-3.10.0-1160.59.1.el7.x86_64
kernel-devel-3.10.0-1160.59.1.el7.x86_64
kernel-tools-libs-3.10.0-1160.59.1.el7.x86_64
查看内核
[root@CENTOS1 ~]# uname -r
3.10.0-1160.59.1.el7.x86_64
删除内核
[root@CENTOS1 ~]# yum remove kernel-tools-3.10.0-1160.59.1.el7.x86_64

docker删除mysql镜像和容器

[root@CENTOS1 ~]docker images 
[root@CENTOS1 ~]docker image rm -f image_id

[root@CENTOS1 ~]docker ps -a
[root@CENTOS1 ~]docker rm CONTAINER ID

查看端口占用情况:
[root@CENTOS1 ~]#netstat -tanlp

在这里插入图片描述

重新安装MySQL:
[root@CENTOS1 ~]#docker run -di --name mysql -v mysql1:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

如果上述方法还不行: 另寻帖子,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值