Docker仓库镜像代理工具
这是一个 Github 项目,其基于 Cloudflare Workers 的 Docker 镜像代理工具。能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。
Demo
链氪镜像:https://docker.linkedbus.com
部署方式
- 打开 https://dash.cloudflare.com -> Workers 和 Pages -> 创建 Worker -> 部署 -> 编辑代码 -> 复制下面代码 -> 保存部署 -> 设置自定义域名(可选)-> 大功告成
- 代码过长,不在这里贴了,代码地址:https://github.com/SeanChang/CF-Workers-docker.io/blob/main/_worker.js
如何使用?
例如您的 Workers 项目域名(或自定义域名)为:https://docker.linkedbus.com
;
1.官方镜像路径前面加域名
docker pull docker.linkedbus.com/stilleshan/frpc:latest docker pull docker.linkedbus.com/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.linkedbus.com"] # 请替换为您自己的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 = "docker.linkedbus.com" [[registry]] prefix = "k8s.gcr.io" insecure = true location = "k8s.gcr.io" [[registry.mirror]] location = "docker.linkedbus.com" [[registry]] prefix = "gcr.io" insecure = true location = "gcr.io" [[registry.mirror]] location = "docker.linkedbus.com" [[registry]] prefix = "ghcr.io" insecure = true location = "ghcr.io" [[registry.mirror]] location = "docker.linkedbus.com" [[registry]] prefix = "quay.io" insecure = true location = "quay.io" [[registry.mirror]] location = "docker.linkedbus.com"
3.3 使用
对于以上配置,k8s在使用的时候,就可以直接pull
外部无法pull的镜像了 手动可以直接pull
配置了mirror
的仓库
crictl pull registry.k8s.io/kube-proxy:v1.28.4 docker pull nginx:1.21
© 版权声明
文章版权归作者所有,未经允许请勿转载。
☝️用微信请我喝杯咖啡☕️
😛如果文章对您有用,请支持作者😛
☝️用支付宝请我喝杯奶茶🧋
相关文章
暂无评论...