问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

国内无法拉取Docker镜像了?这些方法拯救你的Docker

创作时间:
作者:
@小白创作中心

国内无法拉取Docker镜像了?这些方法拯救你的Docker

引用
1
来源
1.
https://cloud.tencent.com.cn/developer/article/2434428

近期,由于众所周知的原因,各大高校以及容器技术社区纷纷关闭多个镜像加速站点,这极大地影响了工作效率和开发进度。本文将为你介绍几种有效的解决方案,帮助你顺利拉取Docker镜像,继续你的开发工作。

一、某些云镜像加速

这里以华为云为例介绍镜像加速的配置方法,其他云厂商如腾讯云、阿里云等的配置方法类似。

镜像加速不可用

以下是一些已知不可用的镜像加速地址:

镜像加速可用镜像源

华为云镜像加速配置步骤

  1. 进入华为云控制台,搜索“容器镜像服务”或"SWR",进入控制台。
  2. 点击 “镜像资源” --> “镜像中心” --> "镜像加速器"。

  1. 安装或升级容器引擎客户端至1.11.2以上版本。
  2. 配置镜像加速器:
  • 以root用户登录容器引擎所在的虚拟机。
  • 修改或创建/etc/docker/daemon.json文件,添加如下内容:
{
    "registry-mirrors": [ "https://你的地址.mirror.swr.myhuaweicloud.com" ]
}
  1. 重启容器引擎:
systemctl restart docker
  1. 确认配置结果:
docker info

当Registry Mirrors字段的地址为加速器的地址时,说明加速器已经配置成功。

二、使用Docker Hub并将镜像推送到自有仓库

如果可以直接访问Docker Hub,可以将需要的镜像推送到阿里云等国内仓库,或者将镜像打包下载到本地。

打包下载镜像

docker save busybox > busybox.tar
docker load < busybox.tar

三、使用GitHub Actions构建Docker镜像

这种方法适用于可以访问GitHub的用户,GitHub Actions提供每月33小时的免费构建时间。

前置条件

  1. 可以访问GitHub(如果网络不稳定,可以使用https://github.com/521xueweihan/GitHub520+SwitchHosts)
  2. 有GitHub账号
  3. 了解GitHub Actions的基本使用

操作步骤

  1. Fork项目DockerTarBuilder:https://github.com/wukongdaily/DockerTarBuilder
  2. 在项目中配置Actions,选择平台并填入镜像名
  3. 下载构建好的镜像压缩包
  4. 解压恢复镜像:
unzip docker-images-tar.zip
tar -zxvf x86-64-images.tar.gz
docker load < alpine:latest-amd64.tar

四、部署Docker Hub的代理

这种方法适用于有GitHub和Cloudflare账号的用户。

前置条件

  1. 有GitHub账号
  2. 有Cloudflare账号

操作步骤

  1. 访问并fork项目:https://github.com/cmliu/CF-Workers-docker.io
  2. 部署到Cloudflare的Pages服务中
  3. 访问并记录部署的代理网站
  4. 自定义域名(可选)
  5. 修改配置文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.fxxk.dedyn.io"]  # 请替换为您自己的Worker自定义域名
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

五、镜像仓库前缀替换

如果无法直接访问某些镜像仓库,可以尝试通过修改镜像仓库前缀来拉取镜像。一些国内的服务商提供了镜像仓库的镜像服务,你可以将原有的仓库前缀替换为对应的国内服务商的前缀。

例如,将docker.io替换为docker.m.daocloud.io等。这种方法虽然可能不是所有镜像都适用,但能解决一部分镜像拉取问题。

参考:https://github.com/DaoCloud/public-image-mirror?tab=readme-ov-file#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95

总结

以上就是几种解决Docker镜像拉取问题的方法,希望这些方法能够帮助到你,让你的Docker之旅更加顺畅无阻。

2024年12月19日新增自用的Docker地址

注意地址要修改,有些可能失效,请注意甄别。

vi /etc/docker/daemon.json
填写一下内容,注意按需修改
{
"registry-mirrors": [
    "https://docker.m.daocloud.io", 
    "https://noohub.ru", 
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://XXXXXXX.mirror.swr.myhuaweicloud.com",  # 改成自己的地址 
    "https://XXXXXXX.mirror.aliyuncs.com",# 改成自己的地址
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn/",
    "http://mirror.azure.cn/",
    "https://hub.rat.dev/",
    "https://docker.ckyl.me/",
    "https://docker.chenby.cn",
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io"
    ]
}
加载配置,并重启
systemctl daemon-reload
systemctl restart docker
docker info
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号