Skip to content
Go back

自建 Docker Registry 镜像加速服务

| 0 Views Edit page

前言

国内的 K3s 集群拉不了镜像了…
阿里云和腾讯云也陆续把镜像加速服务限制内网使用了,只能自建了。


方案概述

  1. 安装 Docker 环境
  2. 启动容器
  3. Nginx 反代
  4. Cloudflare 解析
  5. 测试拉取镜像
  6. 修改为 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

之后拉取镜像就会自动使用镜像加速服务了。


Edit page