k8s、docker添加daemon.json添加“exec-opts“: [“native.cgroupdriver=systemd“]后无法启动的问题
考虑k8s下docker下载镜像太慢,修改了daemon.json,按照手册抄,添加结果发现k8s起不来了,: (from。
考虑k8s下docker下载镜像太慢,修改了daemon.json,按照手册抄,添加
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
结果发现k8s起不来了,
– Unit docker.service has begun starting up.
Aug 10 22:02:01 k8s-master dockerd[1831]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: exec-opts: (from flag: [native.cgroupdriver=systemd], from file: [native.cgroupdriver=systemd])
Aug 10 22:02:01 k8s-master systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Aug 10 22:02:01 k8s-master systemd[1]: Failed to start Docker Application Container Engine.
– Subject: Unit docker.service has failed
– Defined-By: systemd
– Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
–
– Unit docker.service has failed.
–
– The result is failed.
Aug 10 22:02:01 k8s-master systemd[1]: Unit docker.service entered failed state.
Aug 10 22:02:01 k8s-master systemd[1]: docker.service failed.
原因
启动失败原因:直接启动docker会报错,因为docker.service里有一条配置,和刚才添加的"exec-opts"冲突了
# /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
解决方案,保留一处正确的即可:
1.1. # docker.service 找到并删除下面这句话,保存退出,即可解决--exec-opt native.cgroupdriver=cgroupfs \
1.2. # 或者daemon.json
删exec-opt所在行
重启OK
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)