【Docker&NAT】systemctl start docker 启动卡住不动问题的排查处理

您所在的位置:网站首页 dockerstart命令 【Docker&NAT】systemctl start docker 启动卡住不动问题的排查处理

【Docker&NAT】systemctl start docker 启动卡住不动问题的排查处理

2024-07-07 09:34| 来源: 网络整理| 查看: 265

一、问题背景

 

在客户处服务器上(CentOS7.6)上用docker部署一个服务,不管是使用docker的二进制包还是直接yum安装,就是死活起不来,执行systemctl start docker 启动卡住不动,另开一个窗口可以看到docker进程。

docker ps,docker images等都是卡住,strace发现都是卡住在网络等待,排查docker daemon日志没有发现可疑点或者有异常日志但随着异常日志排查并没有解决问题,重装docker,重启设备未解决问题。

一度以为是什么操作系统内核版本bug,但是找了一台相同版本的云主机,启动毫无问题。

 

  二、问题排查

 

找一台docker正常运行的机器进行对比排查,以期能够找到问题点。

正常机器 systemctl status docker 结果如下:

异常机器 systemctl status docker 结果如下:

很显然异常机器多了一条:

/usr/sbin/iptables --wait -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER

 

ps查看,就是iptables卡死(处于D状态):

# ps aux | grep iptables

据此,基本得出是iptables卡住导致docker卡住,这是docker启动过程中要建立iptables策略为后续docker网络做准备,这个过程失败导致卡住。

看上面的意思,nat策略创建夯住了,无法nat,那docker还玩啥!

 

 

三、解决方法

iptables不能创建,基本上可以猜测是安全策略导致的,跟操作系统镜像有关,可能做了相关的安全加固。

咨询相关人员解决即可,比如我这里是将/etc/modprobe.d/目录下iptables和nat相关黑名单放开就可以了。

 

# ll /etc/modprobe.d/

 

# cat  /etc/modprobe.d/blacklist.conf

iptabes卡住,在docker启动日志和调试日志中看不到相关的日志,浪费大量时间排查。

 

/etc/modprobe.d/ 目录下文件相关功能,需多查看点文档,熟悉一下内核模块加载与屏蔽。

 

四、参考 

 

安装docker18.09.6后,无法启动

https://www.it610.com/article/1290967739489394688.htm

 

Linux中升级更新命令yum upgrade和yum update的区别

https://zhidao.baidu.com/question/1436001668988118579.html?qq-pf-to=pcqq.group

 

systemctl start docker一直卡住排查

https://blog.csdn.net/u012500825/article/details/102924754

 

Kernel module (简体中文)

https://wiki.archlinux.org/index.php/Kernel_module_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

 

How do I prevent a kernel module from loading automatically?

https://access.redhat.com/solutions/41278

 

How to blacklist kernel modules?

https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules

What is the difference between /etc/modules and /etc/modprobe.d/?

https://askubuntu.com/questions/1024777/what-is-the-difference-between-etc-modules-and-etc-modprobe-d

https://unix.stackexchange.com/questions/75631/excluding-kernel-modules-through-etc-modprobe-d-blacklist-conf-does-not-work

 

strace命令

https://www.cnblogs.com/duanxz/p/6012768.html

 

强大的strace命令用法详解

https://blog.csdn.net/cs729298/article/details/81906375

https://www.cnblogs.com/machangwei-8/p/10388883.html

 

Linux进程照妖镜strace命令

https://zhuanlan.zhihu.com/p/69527356

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3