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

2024-09-29 20:47:59 浏览数 (4)

第三方镜像列表

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

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

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

部署方式

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

如何使用?

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

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

代码语言:javascript复制
docker pull docker.xuanyuan.me/stilleshan/frpc:latest

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

2.一键设置镜像加速

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

代码语言:javascript复制
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 较简单,它支持任意 registrymirror,只需要修改配置文件 /etc/containerd/config.toml,添加如下的配置:

代码语言:javascript复制
    [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 同样支持任意 registrymirror,修改配置文件 /etc/containers/registries.conf,添加配置:

代码语言:javascript复制
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的仓库

代码语言:javascript复制
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 人点赞