场景:
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).
如下面结果:
启动和停止服务都会出现超时卡住情况
第一次
systemctl stop docker 成功,
之后,
所有到操作,如:
systemctl start docker
service start docker
都会卡住,不动;
解决步骤:
- systemctl status docker 查看docker状态:
一直是这个状态,
- 网上说,开启docker需要先开启监控:dockerd
那么就输入这个命令:
奇怪到时,进入有端口占用,ps -ef , netstat-lnp 都找不到
最后找到这个大佬到文章,上面有教怎么解决docker端口占用问题:https://blog.csdn.net/jabony/article/details/92759417
- 关闭keepalived 让虚拟IP漂移到可以用的宿主机上
systemctl stop keepalived
- 找对应到容器,并关闭
netstat-lnp
kill -9 64604
- 经过上面操作后,还是有一些是找不到的,但是能找到容器id,图中蓝色标识:它说端口被容器分配
那么,把这些容器都删除就行了吧,
cd /var/lib/docker/containers
rm -rf 容器id
再次dockerd 没有报错了,
执行:systemctl status docker
状态已经变了,算是有点变化了,
神奇到时是docker ps ,docker logs ,docker images , docker-compose up/down 这些都能用!
不慌,刚刚我们运行了dockerd,还没结束,ctrl+c 结束后:
systemctl start docker
systemctl status docker 再来看看,已经正常了
- 配置复原:
systemctl start keepalived
真头大!