每当我将中型到大型 Docker 镜像拉到我的服务器上时,它们几乎都会完全下载,但随后会卡住几分钟才最终完成。我查看了 Docker 守护进程调试日志,但它们仅指示正在下载镜像,没有任何错误或警告。我不认为这是一个速率限制问题,因为它在 Docker Hub 和 ghcr.io 上都会发生,我也不认为这是一个网络问题,因为我可以在连接到同一网络的 MacBook 上毫无问题地拉取镜像。我已经尝试过全新安装 Debian,但问题仍然存在。
该问题似乎仅影响超过一定尺寸的图像(和图像层),但我尚不知道该尺寸是多少。
有效的图像:
alpine
busybox
memcached
hello-world
无效的图像:
jellyfin/jellyfin
pihole/pihole
python
有问题的机器是我家网络上的一台旧联想台式机,配有 Intel Xeon E31230、8GB RAM 和千兆位 Intel 82579LM 以太网控制器。它运行 Debian 11、Docker Engine 20.10.21、containerd 1.16.12、runc 1.1.4 和 docker-init 0.19.0。
我也记录了一段录像演示该问题。
答案1
问题出在我的路由器上。它处理无线设备和以太网设备的方式肯定有些奇怪,但将机器插入基础路由器(而不是网状 WiFi 系统)解决了这个问题。