企业内网Docker加速方案:基于 Docker Registry 搭建私有镜像缓存代理

在企业内网环境下,受限于出口带宽与合规性,Docker 镜像拉取缓慢甚至超时已成为研发痛点。利用 Docker Registry 的 Pull-through Cache(拉取透传缓存) 模式,构建一套“一次拉取、全速复用”的内网镜像加速系统。为企业提供低成本、高效率的镜像分发方案。

一、 部署指南

1. 编写配置文件

在服务器创建目录(如 /opt/docker-proxy),并创建 docker-compose.yaml

services:
  registry:
    image: registry:3
    container_name: registry
    ports:
      - "5000:5000"
    restart: always
    environment:
      REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io
    volumes:
      - ./data:/var/lib/registry

2. 启动服务

docker-compose up -d

二、 客户端配置

配置好加速器后,内网的终端设备(开发者电脑、测试服务器等)可以通过以下两种方式享受加速。

方式 A:无侵入式拉取(推荐用于脚本)

直接在镜像名前加上内网代理服务器的 IP 和端口:

# 格式:docker pull <代理IP>:5000/<镜像名>
docker pull 192.168.1.100:5000/library/nginx:latest

注意:对于 Docker Hub 的官方镜像,必须加上 library/ 前缀。

方式 B:透明加速(推荐用于开发环境)

修改 Docker 守护进程配置文件 /etc/docker/daemon.json,添加 registry-mirrors

{
  "registry-mirrors": ["http://192.168.1.100:5000"],
  "insecure-registries": ["192.168.1.100:5000"]
}

由于我们默认使用的是 HTTP 协议,需要同时在 insecure-registries 中放行。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注