一、前景介绍
解决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)"
四、如何使用
- 如果你选择部署的是Nginx,那么代理程序部署完成之后,需自行配置 Nginx
- 下载仓库下的nginx配置文件 registry-proxy.conf 到你的nginx服务下,并修改配置里的域名和证书部分
- 在你的DNS服务提供商将相应的访问域名解析到部署docker proxy服务的机器IP上
- 修改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"
}
}
- 使用自建的 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
- 前缀替换的 Registry 的参考
源站 | 替换为 | 平台 |
hub.your_domain_name | docker hub | |
gcr.your_domain_name | Google Container Registry | |
ghcr.your_domain_name | GitHub Container Registry | |
k8s-gcr.your_domain_name | Kubernetes Container Registry | |
quay.your_domain_name | Quay Container Registry |