后台运行docker compose项目,一直失败,提示:Timeout exceeded while awaiting headers?让我来看看~

最近做实验,后台运行docker compose 项目的时候,一直做不下去,卡了好几天。提示是这样的:

Get "https://registry-1.docker.io/v2/": net/http: reguest canceled while waiting for connection (client.Timeout exceeded while awaiting headers)。就是连接下载超时,网上搜索了很多解决方法,都是去换镜像源,但镜像源也换了很多个,网络也切换了不同的网络,但是依旧还是有容器镜像没有下载成功,最后在想是不是Linux虚拟机的空间占用满了的问题导致一直下载不成功,于是一路操作下去,最后在去docker compose up -d 的时候果然成功了。

1、先运行命令

复制代码
df -h

看一下Linux虚拟机的空间占用情况:

(原先是已经达到了99%的)

2、然后运行命令

复制代码
docker stop $(docker ps -aq)

docker ps -aq 列出所有容器(包括正在运行和已经停止的)的ID
然后 docker stop 命令使用这些ID来停止它们。

停止所有正在运行的容器:

3、接着运行命令

复制代码
docker rm $(docker ps -aq)

这里需要注意的是,
如果直接执行这条命令而没有先停止所有容器,那么命令会失败,
因为不能删除正在运行的容器。通常建议先执行上面的 docker stop 命令。

移除所有容器(无论是否正在运行):

4、最后运行命令

复制代码
docker rmi $(docker images -q)

docker images -q 返回所有镜像的ID,然后 docker rmi 使用这些ID来删除镜像。
请注意,如果存在基于这些镜像的容器(即使这些容器已经被删除),也会导致删除
操作失败,因为Docker不允许删除正被使用的镜像。

删除所有本地的镜像:

5、再运行df -h查看当前的内存空间占用情况,这时可以 发现内存占用空间减到68%了 :

ps:如果占用率依然太高,还可以执行下面操作

复制代码
执行sudo du -ah / | sort -rh | head -n 20  

查看放docker镜像层的路径(这里我的是/var/lib/docker/overlay2):

复制代码
执行删除操作 sudo rm -rf /var/lib/docker/overlay2/* 后

一定要运行命令删除未使用的 Docker 对象:

复制代码
 docker system prune -a

最后执行命令重启docke:

复制代码
systemctl restart docker

这时再查看df -h,空间就会缩小下来了。

然后就回到对应的docker compose项目路径下,跑一下docker compose up -d命令,一般就能够下载成功了。

相关推荐
不吃香菜kkk、17 小时前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
Zhu75817 小时前
docker环境,vLLM 部署 Qwen3.8-27B
docker·qwen·vllm
溜达的大象17 小时前
多台服务器不想上重型监控?用 Beszel 搭一套轻量主机与 Docker 看板
docker
正经教主18 小时前
【FDE系列】阶段2:Day 47:对接企业系统 — 飞书 / 钉钉 API
人工智能·docker·fde
九皇叔叔1 天前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
程序猿小郑1 天前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
行百里er2 天前
5 分钟跑起 Redis(Docker 版)
redis·后端·docker
Mr.朱鹏2 天前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
鬼先生_sir2 天前
Docker 完整教程
docker
java_logo2 天前
Docker 一键部署 Jellyfin:快速搭建私有化媒体服务器
docker·私有化部署·jellyfin·硬件加速·媒体服务器·轩辕镜像·影音库