前言
国内的 K3s 集群拉不了镜像了…
阿里云和腾讯云也陆续把镜像加速服务限制内网使用了,只能自建了。
方案概述
- 安装 Docker 环境
- 启动容器
- Nginx 反代
- Cloudflare 解析
- 测试拉取镜像
- 修改为 Docker 的默认镜像地址
操作步骤
一、安装 Docker 环境
参考:Ubuntu 20.04 从官方源安装最新的 Docker
二、启动容器
官方文档:registry
# 创建数据目录
mkdir -vp /rab/docker/registry/data
# 启动容器
docker run -d \
--name registry \
--restart always \
-p 5000:5000 \
-v /rab/docker/registry/data:/var/lib/registry \
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
registry:2.8.3
三、Nginx 反代
server {
listen 80;
# 替换成你的域名
server_name registry.ceshiku.cn;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_connect_timeout 3600;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
四、Cloudflare 解析
解析的时候开启小云朵,以获取 HTTPS 支持和 CDN 加速。
五、测试拉取镜像
docker pull registry.ceshiku.cn/rabbir/https-proxy:latest

六、修改为 Docker 的默认镜像地址
vi /etc/docker/daemon.json
修改为:
{
"registry-mirrors": [
"https://registry.ceshiku.cn"
]
}
重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
之后拉取镜像就会自动使用镜像加速服务了。