在 DockerHub 无法使用时下载 Docker 镜像
Source: Dev.to
为什么会想这么做?
早在 2016 年,我真的想开始学习 Docker。那时它已经成为每个开发者工具箱中的必备。它的承诺令人印象深刻,作为一个 Linux 发烧友,我非常喜欢看到的关于它的内容。问题是:我住在古巴。
古巴以及其他一些国家因为出口限制而被主动阻止下载 Docker 镜像。即使是那些在全球免费提供的镜像也无法下载。没有能够掩盖我所在位置的 VPS 或 VPN,我唯一的选择只能是依赖朋友们使用 docker save 下载并保存的镜像,然后用 docker load 导入。
我的情况已经改变,但许多处于类似环境的开发者仍然难以获取你们理所当然拥有的资源。为了帮助我的古巴同胞,我创建了一个简易服务。
服务实例
服务实例部署在 。
- 输入你想下载的镜像名称和标签。
- 点击 Download。
- 将会下载一个文件,你可以使用以下命令将其导入本地 Docker:
docker load -i myimage_tag.tar.gz
随后你可以把该镜像分享给朋友和同事。
自动化下载
你可以使用 wget、curl 或任何你喜欢的工具来脚本化下载。下面是使用 wget 的示例:
wget -c --tries=5 --waitretry=3 --content-disposition \
"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04" \
&& docker load -i ubuntu_25_04.tar.gz
欢迎根据自己的工作流自行调整脚本。
自行托管
搭建自己的服务器让朋友们使用非常简单。代码仓库在 。按照说明使用 Docker Compose 部署即可。
贡献
欢迎提交 Pull Request。请:
- 为任何新代码编写测试。
- 确保所有已有测试仍然通过。
背景与未来展望
该服务已有些年头。我在 6–7 年前写了第一版,最近发布了 V2。最初的版本需要客户端应用,现已不再维护或部署。
我希望有一天这类工具能够变得不再需要,因为访问不再受地理或政治限制。届时,我会停止维护该服务;在此之前,我会继续运行它,并把它分享给所有觉得有用的人。
感谢阅读,祝 hacking 愉快。