一、前景介绍

解决Docker 镜像无法下载或下载不下来的问题。不多介绍了。。。


项目中也有具体教程,项目地址:https://github.com/dqzboy/Docker-Proxy

二、环境准备

⚠️ 重要: 一台国外的服务器,并且未被墙。一个域名,无需国内备案,便宜的就行!选择部署Caddy可自动实现HTTPS。 如果部署的是Nginx服务,那么你需要申请一个免费的SSL证书或通过Acme.sh自动生成和续订Lets Encrypt免费SSL证书还可以把域名托管到Cloudflare 开启免费SSL证书

🚀 如果你身边没有上面提到的这些东西,那么你可以部署到Render,项目教程中也有部署Render的教程

三、部署服务

# CentOS
yum -y install wget curl
# ubuntu
apt -y install wget curl

bash -c "$(curl -fsSL https://raw.githubusercontent.com/dqzboy/Docker-Proxy/main/install/DockerProxy_Install.sh)"

四、如何使用

  1. 如果你选择部署的是Nginx,那么代理程序部署完成之后,需自行配置 Nginx
  2. 下载仓库下的nginx配置文件 registry-proxy.conf 到你的nginx服务下,并修改配置里的域名和证书部分
  3. 在你的DNS服务提供商将相应的访问域名解析到部署docker proxy服务的机器IP上
  4. 修改Docker的daemon.json配置,配置你自建的Registry地址。修改后重启docker
~]# vim /etc/docker/daemon.json
{
    "registry-mirrors": [ "https://hub.your_domain_name" ],
    "log-opts": {
      "max-size": "100m",
      "max-file": "5"
    }
}
  1. 使用自建的 Registry 地址替换官方的 Registry 地址拉取镜像
# docker hub Registry
## 源:nginx:latest
## 替换
docker pull hub.your_domain_name/library/nginx:latest

# Google Registry
## 源:gcr.io/google-containers/pause:3.1
## 替换:
docker pull gcr.your_domain_name/google-containers/pause:3.1
  1. 前缀替换的 Registry 的参考

源站

替换为

平台

docker.io

hub.your_domain_name

docker hub

gcr.io

gcr.your_domain_name

Google Container Registry

ghcr.io

ghcr.your_domain_name

GitHub Container Registry

k8s.gcr.io

k8s-gcr.your_domain_name

Kubernetes Container Registry

quay.io

quay.your_domain_name

Quay Container Registry

UI

Docker 镜像管理,解决下载慢的问题_Docker