Centos7官方docker镜像在容器中启动docker服务失败

Centos7官方docker镜像在容器中启动docker服务失败
官方镜像下载地址:https://hub.docker.com/_/centos
命令: docker pull centos
1、根据需求安装所需工具,生成自己的镜像,Dockerfile如下:
FROM centos:7
RUN yum -y install openssh-clients;yum -y install openssh-server;yum -y install vim;yum -y install docker;yum -y install git;yum -y install sshpass;yum -y install sudo;yum -y install java-1.8.0-openjdk*; yum clean all; systemctl enable sshd.service;
COPY config /etc/selinux/config
CMD ["/usr/sbin/init"]
在这里插入图片描述
Config文件是selinux的config,修改其中的内容为:
Centos7官方docker镜像在容器中启动docker服务失败_第1张图片

2、在k8s中运行,启动docker报错如下:
Centos7官方docker镜像在容器中启动docker服务失败_第2张图片
解决办法:1、关闭docker中的selinux
vim /etc/sysconfig/docker
Centos7官方docker镜像在容器中启动docker服务失败_第3张图片
2、配置docker网桥
yum install bridge-utils
yum install iproute
brctl addbr docker0
ip addr add 172.17.0.1/16 dev docker0
ip link set dev docker0
3、修改配置文件
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=10.19.248.12:30100 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
在这里插入图片描述
4、启动服务
systemctl daemon-reload
systemctl restart docker

解决思路:使用systemctl status docker查看报错信息,根据提示第一步缺少docker的用户组,添加后重启继续报错,看下一步报错信息docker启动引擎不支持文件系统,这个错误网上查了很久最后通过上文第3步解决,重启后继续报错,提示network方面的,上文第二步解决,后续报错提示识别不了/etc/docker/daemon.json文件,是应为我们–insecure-registry配置重复,清空daemon.json,最终docker服务启动,这个过程中还遇到了一些其他问题解决后一步步试错,最后总结通过以上三步就可解决服务报错问题。

你可能感兴趣的:(docker)