docker镜像部署

Glider 三月 26, 2022

前言

作为经常买鸡的mjj,经常需要在新环境中安装docker,安装qbit等容器服务。

如果vps在国外还好,docker.io下载速度都很快,不换源问题不大。

但是在国内……一旦遇到稍大点的容器(80多M),docker pull的时间就巨久,几十k的爬。

这里记录一下几种加速docker pull的方法。

直接代理

最简单易懂的方式,利用已有的fq工具,对局域网提供http代理。

操作方式:(这里假设代理http端口地址在192.168.3.227的20171)

mkdir -p /etc/systemd/system/docker.service.d

cat > /etc/systemd/system/docker.service.d/https-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://192.168.3.227:20171/"
Environment="HTTPS_PROXY=http://192.168.3.227:20171/"
EOF

systemctl daemon-reload
systemctl restart docker

优点:docker pull 十分稳定,下载速度取决于水管的粗细。

缺点:你得有个提供代理的海外服务器,并且水管足够粗。

第三方镜像源代理

这种方式流传最为广泛,基本上提供镜像服务的就那几家,没什么好说的

cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
        "某个代理地址"
    ]
}
EOF

systemctl daemon-reload
systemctl restart docker

优点:免费

缺点:下载不稳定,会出现断流的现象,并且代理提供商可能会跑路,网上找的需要逐个测试……

利用cf worker 自建镜像代理服务

首先你得有个cloudflare的账号,并且去开启worker服务,这里不细说了,网上教程很多

之后到 https://github.com/lework/cloudflare-workers 项目中找到docker_proxy.js文件,复制到你的worker代码中。

注意,代码的前几行中的workers_url需要改为你worker的地址,默认是他的

完事后点部署,这样你就拥有自己的docker加速镜像了(实际上是个反代……)

优点:免费,稳定(不容易跑路)

缺点:

  1. 速度比较低,稳定在30-50M之间,若要更快的下载,则需要根据你的机器所在地区寻找最快的cf ip,然后写入host里面

  2. 有次数和流量限制(个人用肯定用不完,具体参考cf的官网)

结语

个人对以上几种方式做个排名吧

  1. 直接代理,这种方式最稳了,要是有大水管,那将是绝杀。
  2. cf worker,cf作为全球最大的cdn商家,能够为广大吃瓜群众提供worker这一利(yang)器(mao),非常的良心。
  3. 第三方镜像源代理,没什么好说的,用过就知道不是很靠谱了……