问题:mysql容器占用内存值过高

原因:open_files_limit初始化太高

方法一:

修改官方镜像的启动脚本文件

/usr/local/bin/docker-entrypoint.sh

在下图位置添加下面两行

# 解决Kylin V10兼容性问题

ulimit -n 1048576 && ulimit -a >/dev/null && ulimit -n

添加完成后,将该文件以绑定挂载方式挂载到启动文件中 -v ./docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh

方法二:

修改docker.service 文件

首先确定这里docker使用的docker.service是哪一个或在那里(不同系统中的路径不同)

systemctl show -p FragmentPath docker

返回的路径为现在docker正在使用的docker.service文件

修改docker.service文件

我们看到LimitNOFILE值并不是infinity,故没有必要修改。如果是infinity可以修改为2^20(1048576)

加载配置项重启服务

systemctl daemon-reload && systemctl restart docker