docker下mysql启动卡住

docker下安装mysqld后执行service mysqld start或者systemctl start mysql时会发现操作无法完成,此时需要通过映射目录的方式实现。

具体现象:service mysqld status会输出如下日志
New main PID 3991 does not belong to service, and PID file is not owned by root

解决方法如下:

方法1:创建容器时添加映射参数

创建容器的时候增加-v /sys/fs/cgroup:/sys/fs/cgroup

方法2:修改现有容器增加映射参数

1)关闭docker

service docker stop

2)进入容器目录

cd /var/lib/docker/containers/容器id/

3)修改hostconfig.json

 vi hostconfig.json,修改Binds后内容如下
"Binds": ["/sys/fs/cgroup:/sys/fs/cgroup"],

4)修改config.v2.json

vi config.v2.json,修改如下,添加MountPoints:

"MountPoints": {

"/sys/fs/cgroup": {
            "Source": "/sys/fs/cgroup",
            "Destination": "/sys/fs/cgroup",
            "RW": true,
            "Name": "",
            "Driver": "",
            "Type": "bind",
            "Propagation": "rprivate",
            "Spec": {
                "Type": "bind",
                "Source": "/sys/fs/cgroup",
                "Target": "/sys/fs/cgroup"
            },
            "SkipMountpointCreation": false
        }
},  

5)启动docker

service docker start

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值