Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器

docker不能访问了,对于我这种爱折腾的nas玩家,有一点点小小的麻烦(给小伙伴远程辅助时无法下载docker镜像),所以收集了目前可用的docker镜像地址和各类使用教程,方便小伙伴进行下载。

本文全是干货,没有水分

准备工作:自己整个域名,备不备案都可以。阿里或者腾讯购买域名top或者xyz后缀的,一年9元,不想购买域名的可以参考我之前的免费申请域名文章,本文举例子用的域名就是免费申请获得的eu.org后缀域名

一:NAS使用

  1. 群晖

    1. 群晖打开 Container Manager —— 注册表 —— 设置 —— 新增一个注册表

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图

    注册表名称:随意填写

    注册表URL:https://index.docker.io

    启用注册表镜像:https://dk.lifgam.eu.org https://ddk.lifgam.eu.org

    或者直接ssh拉取命令拉取,具体命令往下看服务器拉取篇,这些都是通用的

  2. 威联通

    1. 威联通打开Container Station 容器工作站 —— 储存库 —— 编辑新增储存库 —— 名称随意 URL填写你自己的或者我提供的地址

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图1

      https://dk.lifgam.eu.org 或者 https://ddk.lifgam.eu.org 二选一即可

      dk是服务器反代 ddk是Cloudflare方式

      或者直接ssh拉取命令拉取,具体命令往下看服务器拉取篇,这些都是通用的

  3. 极空间

    极空间等待小伙伴有空远程再更新教程

  4. 万由

    万由暂时没有图片,但是流程是一样的

二:服务器使用

  1. 添加到docker注册表,命令行输入下面的命令,链接随时失效,可以改为自己的,或者是文章底部我提供的地址

    # 创建docker目录
    sudo mkdir -p /etc/docker
    
    # 将下面的文件写入到docker镜像源配置文件里面
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
        "registry-mirrors": [
            "https://dk.lifgam.eu.org",
            "https://ddk.lifgam.eu.org",
        ]
    }
    EOF
    
    # 重新加载守护进程
    sudo systemctl daemon-reload
    # 重启docker
    sudo systemctl restart docker 
  2. 快速拉取

    替换拉取命令:

    例如我要拉取selenium/standalone-chrome这个镜像,那么用的原生命令就是

    docker pull selenium/standalone-chrome

    此时,修改命令为下面的格式,就可以加速拉取

    docker pull ddk.lifgam.eu.org/selenium/standalone-chrome
  3. 给docker增加代理环境变量

    1. 新建目录
    mkdir -p /etc/systemd/system/docker.service.d
    1. 新建配置文件,粘贴后面的内容并保存
    vim /etc/systemd/system/docker.service.d/http-proxy.conf

    粘贴下面的内容:大概意思是http和https协议通过192.168.2.66:10801进行代理链接,最后一个是不走代理的域名和ip地址以及泛域名示例

    [Service]
    Environment="HTTP_PROXY=http://192.168.2.66:10801"
    Environment="HTTPS_PROXY=http://192.168.2.66:10801"
    Environment="NO_PROXY=your-registry.com,127.1.1.10,*.example.com"

    3,重启Docker

    # 重新加载守护进程
    sudo systemctl daemon-reload
    
    # 重启docker
    sudo systemctl restart docker 

    4,检查环境变量是否生效

    systemctl show --property=Environment docker
  4. 各类面板拉取

    BT宝塔面板docker,设置——加速URL——设置完了记得重启一下docker

    Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图2

    随后就可以正常下载了

    1panel面板

    容器——配置——基础配置——镜像加速

    Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图3

三:部署教程

  1. 服务器部署
  2. cloudflare部署

    1. 进入Workers和Pages

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图4

    2. 部署新的Worker项目,名称随意

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图5

    3. worker.js文件粘贴下面代码,随后记得ctrl+s保存一下这个文件

      import HTML from './docker.html';
      
      export default {
          async fetch(request) {
              const url = new URL(request.url);
              const path = url.pathname;
              const originalHost = request.headers.get("host");
              const registryHost = "registry-1.docker.io";
      
              if (path.startsWith("/v2/")) {
              const headers = new Headers(request.headers);
              headers.set("host", registryHost);
      
              const registryUrl = https://${registryHost}${path};
              const registryRequest = new Request(registryUrl, {
                  method: request.method,
                  headers: headers,
                  body: request.body,
                  // redirect: "manual",
                  redirect: "follow",
              });
      
              const registryResponse = await fetch(registryRequest);
      
              console.log(registryResponse.status);
      
              const responseHeaders = new Headers(registryResponse.headers);
              responseHeaders.set("access-control-allow-origin", originalHost);
              responseHeaders.set("access-control-allow-headers", "Authorization");
              return new Response(registryResponse.body, {
                  status: registryResponse.status,
                  statusText: registryResponse.statusText,
                  headers: responseHeaders,
              });
              } else {
              return new Response(HTML.replace(/{{host}}/g, originalHost), {
                  status: 200,
                  headers: {
                  "content-type": "text/html"
                  }
              });
              }
          }
      }
    4. 点击左上角的文件图标,新建一个docker.html文件,粘贴下面代码,代码里面有个地方改为自己的域名,我已经用文字表达出来了

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图6

      
      
      
          
          
          Mirror Usage
          
      
      
          

      Mirror Usage

      镜像加速说明

      为了加速镜像拉取, 你可以使用以下命令设置registry mirror:

      sudo tee /etc/docker/daemon.json <<EOF
      {
          "registry-mirrors": ["这里写你自己的域名"]
      }
      EOF

      为了避免 Worker 用量耗尽, 你可以手动 pull 镜像然后 re-tag 之后 push 至本地镜像仓库:

      docker pull {{host}}/library/alpine:latest # 拉取 library 镜像
      docker pull {{host}}/coredns/coredns:latest # 拉取 library 镜像


    5. 点击右上角部署并运行

      Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图7

    6. 绑定自己的域名

    Docker实现快速下载和部署自己的加速地址支持所有NAS和服务器插图8

    这样就完成部署了

地址合集

https://docker.m.daocloud.io
https://huecker.io
https://dockerhub.timeweb.cloud
https://noohub.ru
https://dk.lifgam.eu.org
https://ddk.lifgam.eu.org

docker.1panel.live   -- 1Panel 面板提供(推荐)
hub.rat.dev   -- 耗子面板提供
docker.m.daocloud.io -- DaoCloud 提供(限速+Linux)
hub.uuuadc.top
docker pull hub.rat.dev/oldiy/chrome-novnc
© 版权声明
THE END
有缘再见
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容