利用 Docker 镜像仓库的 镜像代理与缓存 功能加速镜像下载,并使用 nginx 根据域名进行分流,客户端通过自建仓库拉取镜像并缓存在服务端,加快镜像拉取速度。
git clone https://github.com/brighill/registry-mirror.git
cd registry-mirror
# 如果在无法访问 gcr.io 的机器上启动服务则需要增加代理
# export PROXY=ip:port
docker-compose up -d
将需要加速的域名解析为服务端的 IP(如果有内网 DNS 服务则在 DNS 服务端修改)
#/etc/hosts
192.168.1.1 gcr.io k8s.gcr.io quay.io docker.io registry-1.docker.io nvcr.io custom.local
### 方法 1: 修改 /etc/systemd/system/docker.service.d/docker-options.conf
[Service]
Environment="DOCKER_OPTS=--insecure-registry=gcr.io --insecure-registry=k8s.gcr.io --insecure-registry=quay.io --insecure-registry=docker.io --insecure-registry=registry-1.docker.io --insecure-registry=nvcr.io --insecure-registry=custom.local --registry-mirror=http://registry-1.docker.io"
### 方法 2: /etc/docker/daemon.json
"insecure-registries" : ["gcr.io", "k8s.gcr.io", "quay.io", "docker.io", "registry-1.docker.io", "nvic.io", "custom.local"]
sudo systemctl daemon-reload
sudo systemctl restart docker
docker pull gcr.io/google_containers/pause-amd64:3.2
正文完
发表至: 开源脚本
2024-06-12