Docker镜像加速源配置

一、配置Docker国内镜像源

使用docker拉取镜像的时候,有时候会卡在中途死活下载不完。一般这种情况就是因为docker默认的镜像源是Dockerhub,而这个网站在域外。所以和Ubuntu换国内源一样,我们也可以对docker换国内镜像源。
docker的镜像源文件配置在 /etc/docker/daemon.json处,如果没有的话我们就创建一个然后再修改。

sudo vim  /etc/docker/daemon.json

常见的国内源有:

  • Docker国内镜像源:https://registry.docker-cn.com
  • 中科大源:https://docker.mirrors.ustc.edu.cn
  • 网易源:https://hub-mirror.c.163.com
  • 百度源:https://mirror.baidubce.com
  • 腾讯源:https://ccr.ccs.tencentyun.com
  • 阿里源:需要登陆cr.console.aliyun.com创建单独的镜像源链接

来源于:https://www.cnblogs.com/PeterJXL/p/18397752#:~:text=Docker

由于 GFW 的原因,在下载镜像的时候,经常会出现下载失败的情况,此时就可以使用国内的镜像源。

什么是镜像源:简单来说就是某个组织(学校、公司、甚至是个人)先通过某种手段将国外的镜像下载下来,然后上传到国内的网站,这样我们在国内就可以通过这个网站下载到镜像源

起因

笔者有一次在构建镜像的时候,发现下载镜像报错了:

failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/e7/e7d39d4d8569a6203be5b7a118d4d92526b267087023a49ee0868f7c50190191/data?verify=1717770949-vcXzP%2BxUA2JIB7lugP3KRzgJpZA%3D": dial tcp 108.160.165.53:443: i/o timeout

这就是因为 GFW,下载国外镜像的时候超时。

DockerHub 官方镜像源(https://hub.docker.com),很早就开始无法正常访问了。

阿里云镜像

登录阿里云,然后点击右上角的控制台:

图片[1]-Docker镜像加速源配置-软技收集

然后找到镜像服务:

图片[2]-Docker镜像加速源配置-软技收集

​然后找到镜像加速器地址并配置:

图片[3]-Docker镜像加速源配置-软技收集

‍可以看到,文档里写了通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<yourID>.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

‍该段代码的作用:

  1. 先建立文件夹 /etc/docker
  2. 在配置文件里添加镜像地址(注意替换为自己的)
  3. 重启 Docker

‍执行完后,可以看看该文件的内容是否正确:

cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://<yourID>.aliyuncs.com"]
}

‍还可以通过 docker info 命令来查看镜像信息:

$ docker info
# 省略其他内容...
Registry Mirrors:
https://<yourID>.aliyuncs.com

封禁…

最近,不少国内的镜像因为监管原因下架了,不知道以后 Docker 怎么使用了,唉。

例如,2024-6-6 上海交大发出的公告

​随后,南京大学中国科技大学的镜像源(http://docker.mirrors.ustc.edu.cn)也宣布关闭:

图片[4]-Docker镜像加速源配置-软技收集

目前整理到能用的镜像源如下(不知道以后会不会被封):

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://dockerhub.azk8s.cn",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.m.daocloud.io",   
    "https://noohub.ru", 
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud" 
  ]
}

‍部分镜像源说明:

根据测试情况,酌情在配置文件中添加需要的镜像源链接,如下所示:

{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://docker.mirrors.ustc.edu.cn"
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}

重启docker,注意由于走的是守护程序daemon,所以daemon进程也需要重启。

sudo systemctl daemon-reload        #重启daemon进程
sudo systemctl restart docker       #重启docker

最后我们再验证一下是否修改成功,运行

docker info

在长串info信息中如果出现类似下文的内容:

 Registry Mirrors:
  https://docker.mirrors.ustc.edu.cn/
  http://hub-mirror.c.163.com/
  https://mirror.ccs.tencentyun.com/
  https://registry.docker-cn.com/

那就说明我们的docker国内镜像源修改成功了。

二、Docker命令走代理

然而实际测试下来,就算我们修改成功了国内的镜像源,有时候由于国内镜像更新不及时,或者需要拉取的镜像比较冷门,只有域外镜像站才有,那么我们不得不让docker pull命令,走我们的代理。
我们在docker的进程服务文件夹配置我们的代理设置,如果没有我们就新建这个文件夹:

sudo mkdir /etc/systemd/system/docker.service.d

然后在docker.service.d文件夹里新建我们的代理文件proxy.conf

sudo vim proxy.conf

并把文件写如下面这个格式:

[Service] 
Environment="HTTP_PROXY=代理服务器ip:port" 
Environment="HTTPS_PROXY=代理服务器ip:port"

假如我们本机已经设置好代理了,那么代理服务器就可以写为localhost,端口就是我们设置的http和https代理端口即可,形如:

[Service] 
Environment="HTTP_PROXY=localhost:port" 
Environment="HTTPS_PROXY=localhost:port"

保存并退出proxy.conf文件,和更改镜像源一样,重启docker,并重启daemon进程。

sudo systemctl daemon-reload        #重启daemon进程
sudo systemctl restart docker       #重启docker

最后我们仍然是验证一下是否修改成功,运行

docker info

在长串info信息中如果出现类似下文的内容:

 HTTP Proxy: 代理服务器ip:port
 HTTPS Proxy: 代理服务器ip:port

那就说明我们已经成功设置docker pull命令走代理了,一般情况下也就不会出现拉取镜像卡死的情况了。

温馨提示:本文最后更新于2024年10月03日 17:29:20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
本文资源整理自网络,仅供学习和研究使用,请在下载后24小时内删除,谢谢合作!
如果觉得本文有用就按Ctrl+D收藏,方便以后随时翻看,免得想看时又找不着 或 发现更多
十月 2

本站历史上的今天

    "吼吼~~~,往年的今天站长不知道跑哪里偷懒去了~~~"
© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

夸夸
夸夸
还有吗!没看够!
取消
昵称常用语表情代码图片

    立即成为占楼第一人