自建 Docker 镜像摆脱 Docker pull 失败困境

5,266次阅读
没有评论

共计 2320 个字符,预计需要花费 6 分钟才能阅读完成。

第三方镜像列表

DockerHub 国内镜像源 / 加速列表(0913 更新)

CF-Workers-docker.io:Docker 仓库镜像代理工具

这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。

部署方式

  • Workers  部署:复制  worker.js  代码,保存并部署 即可
  • Pages  部署:Fork  后 连接 GitHub  一键部署即可

如何使用? 

例如您的 Workers 项目域名为:docker.xuanyuan.me ;

1. 官方镜像路径前面加域名

docker pull docker.xuanyuan.me/stilleshan/frpc:latest

docker pull docker.xuanyuan.me/library/nginx:stable-alpine3.19-perl

2. 一键设置镜像加速

修改文件  /etc/docker/daemon.json(如果不存在则创建)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.xuanyuan.me"]  # 请替换为您自己的 Worker 自定义域名
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 配置常见仓库的镜像加速

3.1 配置

Containerd 较简单,它支持任意  registry  的  mirror,只需要修改配置文件  /etc/containerd/config.toml,添加如下的配置:

    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
          endpoint = ["https://xxxx.xx.com"]

Podman  同样支持任意  registry  的  mirror,修改配置文件  /etc/containers/registries.conf,添加配置:

unqualified-search-registries = ['docker.io', 'k8s.gcr.io', 'gcr.io', 'ghcr.io', 'quay.io']

[[registry]]
prefix = "docker.io"
insecure = true
location = "registry-1.docker.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "k8s.gcr.io"
insecure = true
location = "k8s.gcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "gcr.io"
insecure = true
location = "gcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "ghcr.io"
insecure = true
location = "ghcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "quay.io"
insecure = true
location = "quay.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

3.3 使用

对于以上配置,k8s 在使用的时候,就可以直接 pull 外部无法 pull 的镜像了 手动可以直接 pull  配置了mirror 的仓库

crictl pull registry.k8s.io/kube-proxy:v1.28.4 

docker pull nginx:1.21

变量说明

变量名 示例 必填 备注
URL302 https://t.me/CMLiussss 主页 302 跳转
URL https://www.baidu.com/ 主页伪装 (设为nginx 则伪装为 nginx 默认页面)
UA netcraft 支持多元素, 元素之间使用空格或换行作间隔
正文完
 0
轩源
版权声明:本站原创文章,由 轩源 于2024-09-13发表,共计2320字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
支持作者

☝️用微信请我喝杯咖啡☕️

😛如果文章对您有用,请支持作者😛

支持作者

☝️用支付宝请我喝杯奶茶🧋

评论(没有评论)