centos7启动docker服务异常解决

一、启动docker服务报错

1. 启动docker服务报错

[root@centos7 ~]# service docker start

Starting docker (via systemctl):

Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.

先根据提示查看错误(找准病因再下手,不然一切都是徒劳

// 查看docker服务状态
systemctl status docker.service

// 查看系统日志
journalctl -xn

2. 查看SELinux、防火墙状态:

1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

2、getenforce ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

虽然关闭了selinux,但是貌似执行docker 还是会出现下面错误:

[root@centos7 init.d]# docker images

Get http:///var/run/docker.sock/v1.20/images/json: dial unix /var/run/docker.sock: no such file or directory.

* Are you trying to connect to a TLS-enabled daemon without TLS?

* Is your docker daemon up and running?

根据提示发现docker daemon没有启动,执行以下命令就正常了

# sudo systemctl daemon-reload
# sudo systemctl restart docker

二、docker启动 jenkins 服务报错

jenkins的docker containner启动失败,报错:failed programming external connectivity … iptables: No chain/target/match by that name”

原因如下:

docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信,我们通过命令iptables -L可以查看 iptables 的规则链

在实际操作中,如果你一不小心删除了iptables中的 docker 规则链或者iptables 的docker规则链在启动时并未生效(例如:重启firewalld、开启selinux等等),那么 docker 服务 就会报iptables error例如:failed programming external connectivity … iptables: No chain/target/match by that name

要解决这个问题,只要重启docker服务,之后,正确的iptables规则就会被创建出来

此时只需重启docker服务便能解决 

#  systemctl restart docker.service
发布了83 篇原创文章 · 获赞 188 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_40791253/article/details/102870348