背景

很久没有写博客了,写一个困扰了我一个下午的问题,arm架构下docker安装mysql5.7无法启动的问题。

选择镜像

https://github.com/biarms/mysql,这个是官方镜像的一个分支

问题复现

当我启动mysql时报错如下:
ERROR: mysqld failed while attempting to check config
command was: “mysqld --verbose --help”
我前后想了很多种原因:

  1. 我的镜像有问题?
    在我本地没有问题
  2. 我的docker有问题?
    我对比了我本地和服务器的docker版本,发现也一样,但是我本地是mac,服务器是linux,本地是docker desk安装的,服务器是二进制安装的。
  3. 我的docker配置有问题?
    我看了一下daemon.josn,发现也差不多
  4. docker.service有问题
    最后我死马当活马医了,我去看了看docke.service,我就删除配置,重新启动docker,发现镜像竟然起来了,豁然开朗。此时就是找到哪个配置有影响了,最后定位到了
    LimitNOFILE=infinity、LimitNPROC=infinity、LimitCORE=infinity三个配置,我发现把这三行删了就好使

解决方案

https://github.com/docker-library/mysql/issues/579
加上–ulimit nofile=262144:262144

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐