Docker 镜像无法拉取的解决方法

Docker (容器技术,不单指 Docker 技术栈和品牌) 是虚拟化技术的重要手段,但因为一些反人类(阻止人类进步,我认为都是反人类)的原因,在国内无法正常使用,常见表现在于无法正常拉取镜像。

下面介绍一下这个事件的原因和解决方法

原因

起因是Docker官方8月13日更新的一个条款。
条款的大意是,禁止禁运国家和被列入「美国实体清单」、「特别指定国民清单」、「被拒绝人清单」、「未核实清单」和「防扩散清单」的组织和个人使用带有该服务协议链接的 Docker 网站和所有相关网站。

引用: 抛弃开源!Docker镜像仓库Docker Hub或将「断供」

思路

这里提供一下解决思路

  1. 利用国内公有服务器提供的服务
  2. 使用其它大神提供的服务资源
  3. 利用自己的服务器搭建自己的镜像仓库
  4. 科学访问国外资源
  • 第 1 种方法,使用国内一些知名云服务商提供的 docker 镜像加速服务。使用难度 较低
  • 第 2 种方法,基本上就是有人提供了国内可以方便访问的方法,供国内使用者方便快速的访问使用,底层技术实际也无法是下面的 第 1, 3, 4 种方案或混合体。使用难度 较低
  • 第 3 种方案,需要有一定的技术能力,自行搭建仓库服务。使用难度 较高
  • 第 4 种方案,把使用者伪装成国外的使用者,从而正常使用 docker 服务。使用难度 较低

解决方法

方法一 使用阿里云提供的仓库服务

方法由 技术爬爬虾 提供

阿里云 容器镜像服务 ACR 个人版免费使用,有一定限制(个人实例提供 3 个命名空间,以及 300个仓库)

使用到的仓库地址 : https://github.com/tech-shrimp/docker_image_pusher

阿里云 > 容器镜像服务 ACR 入口

方法二 使用国内大神提供的服务

此方法由 网络半桶水 提供

这里需要特别注意的是,每次你提交的镜像同步完成之后,只会作为临时使用!系大佬的镜像库会在七天左右清理掉拉取量低于100的镜像!大家可通过这个网站查询目前已经同步过的镜像,以便节省大佬的资源和带宽!

-- 网络半桶水

网络半桶水 已经介绍和说明的很详细了,这里就引用一下。

使用到的仓库地址 : https://github.com/DaoCloud/public-image-mirror

方法三 自建镜像仓库

使用 Harbor 来自建私有仓库服务,供自己或内部团队使用。具体的使用方法自行搜索学习,我就不展开了。

其它类似的实现

仅供参考

赞赏