自建高速Docker镜像代理

发布于:2025-08-30 ⋅ 阅读:(21) ⋅ 点赞:(0)

注册账号 + 实名认证 = 立刻拿 20 元余额
链接在这👇
https://sso.ffy.com/sign-up?invite_code=hb4XQJ49fX

1. 更新系统

apt update
apt upgrade -y

2. 安装 Docker

# 安装必要的依赖
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加 Docker 的官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置 Docker 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 再次更新 apt 包索引
sudo apt update

# 安装 Docker Engine, containerd 和 Docker Compose
sudo apt install docker-ce

# 启动Docker并配置开机启动
sudo systemctl enable --now docker

3. 启动镜像代理容器

使用 Docker 命令

docker run -d \
  -p 45678:5000 \
  --restart=always \
  --name registry-proxy \
  -v /mnt/registry-data:/var/lib/registry \
  -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
  registry:2

使用 Docker Compose

version: "3.8"

services:
  registry-proxy:
    image: registry:2                 # 使用官方 registry 镜像 v2
    container_name: registry-proxy    # 容器名称
    restart: always                   # 出错或重启时自动拉起
    ports:
      - "45678:5000"                  # 映射宿主机 45678 -> 容器 5000
    environment:
      REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io  # 上游仓库地址(Docker Hub)
    volumes:
      - /mnt/registry-data:/var/lib/registry  # 缓存/存储目录挂载

运行命令:

docker compose up -d

4. 开放端口

将第二行的 -p 45678 替换为任意 10000-65535 之间的端口,使用大端口比较安全。

之后在控制台的安全组中,放行这个端口。点击管理进入设置页。

5. 配置安全组

  1. 点击配置规则
  2. 添加一个规则,按照图中选择对应的内容,注意根据你选择的端口填写对应的值

6. 配置 Docker 客户端

编辑 /etc/docker/daemon.json 文件,写入以下内容,注意替换成你自己的 IP 和端口:

vim /etc/docker/daemon.json
{
  "insecure-registries": ["111.111.111.111:45678"],
  "registry-mirrors": ["http://111.111.111.111:45678"]
}

# 重启本地机器的Docker服务
systemctl restart docker

7. 验证配置

下载镜像并查看镜像以验证代理是否正常工作。