记一次docker报错及解决记录

场景:
systemctl stop docker

swap 关闭:
swapoff -a
swapon -a

systemctl start docker

docker-compose -f docker.yml up
出现:

ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 100).

如下面结果:
启动和停止服务都会出现超时卡住情况
1.PNG
第一次
systemctl stop docker 成功,
之后,
所有到操作,如:
systemctl start docker
service start docker
都会卡住,不动;

解决步骤:

  1. systemctl status docker 查看docker状态:

2.PNG

一直是这个状态,

  1. 网上说,开启docker需要先开启监控:dockerd

那么就输入这个命令:
3.PNG
奇怪到时,进入有端口占用,ps -ef , netstat-lnp 都找不到
最后找到这个大佬到文章,上面有教怎么解决docker端口占用问题:https://blog.csdn.net/jabony/article/details/92759417

  1. 关闭keepalived 让虚拟IP漂移到可以用的宿主机上

systemctl stop keepalived

  1. 找对应到容器,并关闭

netstat-lnp
8.PNG
kill -9 64604

  1. 经过上面操作后,还是有一些是找不到的,但是能找到容器id,图中蓝色标识:它说端口被容器分配4.PNG

那么,把这些容器都删除就行了吧,
cd /var/lib/docker/containers
rm -rf 容器id
再次dockerd 没有报错了,

执行:systemctl status docker
5.PNG
状态已经变了,算是有点变化了,

神奇到时是docker ps ,docker logs ,docker images , docker-compose up/down 这些都能用!

不慌,刚刚我们运行了dockerd,还没结束,ctrl+c 结束后:
6.PNGsystemctl start docker
systemctl status docker 再来看看,已经正常了
7.PNG

  1. 配置复原:

systemctl start keepalived

真头大!

猜你喜欢

转载自blog.csdn.net/qq_28911061/article/details/120471262
今日推荐