# 前情提要

2024 年 6 月 6 日,国内众多公益镜像站点 “接上级主管部门通知,暂时关闭 Docker Hub 镜像缓存服务 “,而 docker.com 及其相关域名在很早之前就因不可描述的原因无法访问,突然之间中国的 docker 用户陷入了一个无镜像可用的尴尬境地。

上交

本人使用的 docker 镜像有限,虽然很早就看到了新闻,但未曾当回事,直到某天要部署一个新服务时,突然发现 docker pull 半天都拉不下了镜像了,这才后知后觉的意识到了问题的严重性。

# 解决方案

通过一番搜素和尝试,解决方案有如下几种:

# 第三方镜像加速

第三方镜像加速是最简单的解决方案,在之前国内拉取镜像缓慢时就广泛采用,但现在的前提是你能找到还能正常提供服务的第三方镜像站点。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://dockerhub.icu",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

各大高校的镜像站基本都不再提供 Docker Hub 的镜像服务了,上述两个站点都是个人用户搭建,能活到什么时候也未可知。
有阿里云账号的,可以配置阿里云加速器 (点击管理控制台 -> 登录账号 -> 左侧镜像工具 -> 镜像加速器 -> 复制加速器地址), 但阿里云的很多镜像并不是最新的😅

此方法需要重启 docker 服务,如果是在生产环境需要慎重操作。

这里有一份热心网友整理的 第三方镜像服务列表,请自行测试使用。

# 阿里云私有仓库

使用 Github Action 将国外的 Docker 镜像转存到阿里云私有仓库,供国内服务器使用,简单易用,详细步骤参见 项目介绍

# Cloudflare 镜像代理

基于 Cloudflare Workers, 中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题,详细步骤参见 项目介绍

# 自建私有仓库

如果对 docker 镜像有安全性需求,或者只能在内网运行,那就必要搭建一套 docker 本地私有镜像仓库。

搭建镜像仓库主流的有两种方法,一种是使用 docker 官方提供的 registry 镜像搭建仓库,简单快捷,但是功能有限;另一种是使用 harbor 搭建本地镜像仓库,harbor 功能更强,使用范围更广。harbor 详细步骤参见 利用 harbor 自建企业级 Docker 镜像仓库

# 后记

目前本人只尝试了这几种方式,如果平常使用的镜像不多,推荐使用阿里云私有仓库的方式,转存完成后再拉取使用的速度就飞快了,当然最保险的方式还是通过 harbor 自己私有仓库,自己的镜像自己说了算。

最后也感叹一下,在网络环境监管日趋严格的今天,只能哀开发者之多艰,真是不会十八般武艺就没法开发了,这次是 docker hub,下一次又会是什么呢?

此文章已被阅读次数:正在加载...更新于

请我喝杯咖啡吧☕️

木亦 微信支付

微信支付

木亦 支付宝

支付宝