在企业内网环境下,受限于出口带宽与合规性,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中放行。
发表回复