首先,你得有一台国外的服务器
在国外外的服务器上搭建仓库程序DockerRegistry
docker run -d \
-p 5000:5000 \
--name registry \
-v /root/data/docker_run_data/registry:/var/lib/registry \
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
--restart always \
registry:2正常来说,这个时候你只需要将国内服务器的docker镜像源换成你这个国外服务器的地址就行了:
vim /etc/docker/daemon.json
# 添加
{
"registry-mirrors":["http://ip:5000"]
}如果做了反向代理,就把地址换成代理的域名:
{
"registry-mirrors":["https://域名"]
}这个时候我们可以做个反向代理,我习惯性用Nginx Proxy Manager,你也可以自己手搓,或者找别人的一键脚本。安装Nginx Proxy Manager:
mkdir -p /data/docker_data/npm && cd /data/docker_data/npm
vim docker-compose.yml将一下代码粘上去
version: '3.8'
services:
app:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81' #左边的可以改成自己服务器未被占用端口可以用lsof -i:端口 查看
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt