标签: DevOps

  • 企业内网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 中放行。