如果没有VPS的小伙伴可以看下面这个文章,Racknerd是博主自己在用的服务商,便宜好用最低只要10美元左右一整年,每个月上千g流量,这种搭个小网站或者自用docker镜像完全足够了。
Step1: 通过docker部署镜像工具
前往镜像工具Github项目查看项目信息。
在你的vps创建一个文件夹用于放置项目部署的文件,例如~/mirror
,随后cd至mirror目录cd ~/mirror
,创建docker-compose.yml文件,项目里的文件在这。
随后根据你的需要,添加config目录下对应的yml
文件还是到刚刚的目录下,需要哪个添加哪个,全添加也可以。
随后启动容器:
# 启动全部容器
docker compose up -d
# 启动指定的容器,例如: Docker Hub Registry Proxy
docker compose up -d dockerhub
# 查看容器日志
docker logs -f [容器ID或名称]
外部端口是xxxx:yyyy映射中的xxxx,比如dockerhub默认是51000。
Step2: 使用Caddy反向代理
caddy的安装看我另一篇帖子。
编辑你的Caddyfile,直接从项目给出的模板拷贝过去即可,需要哪个拷哪个。例如,如果你需要镜像dockerhub,那就添加这部分:
hub.your_domain_name {
reverse_proxy localhost:51000 {
header_up Host {host}
header_up X-Real-IP {remote_addr}
header_up X-Forwarded-For {remote_addr}
header_up X-Nginx-Proxy true
}
}
在你的域名管理工具中添加对应的解析记录,随后启动/重启caddy即可。
Step3: 使用自建的 Registry 地址替换官方的 Registry 地址拉取镜像
首先我们测试一下拉取
官方镜像:
# 例nginx
## 源:nginx:latest
## 替换
docker pull hub.your_domain_name/library/nginx:latest
非官方镜像:
# 例frps
## 源:snowdreamtech/frps:latest
## 替换
docker pull hub.your_domain_name/snowdreamtech/frps:latest
建议尝试一下哪一种可行,跑通即可。随后添加到docker的配置文件中:
Linux (regular setup) | /etc/docker/daemon.json |
Linux (rootless setup) | ~/.config/docker/daemon.json |
Windows | C:\ProgramData\docker\config\daemon.json |
Windows (Docker Desktop) | C:\Users\<你的用户名>\.docker\daemon.json |
编辑配置文件,添加以下内容
{ "registry-mirrors" : [ "https://hub.your_domain_name" ] }
保存后执行
sudo systemctl daemon-reload
sudo systemctl restart docker
重启docker即可,此时你无需特别声明自定义的镜像源地址,直接正常拉取镜像即可。
提升传输速度
当我们在国内访问海外 VPS 时,网络连接的带宽和速度可能受到不同因素的影响。通过合理的工具测试和配置优化,可以有效提升跨国访问 VPS 的性能。
如果你遇到速度远低于vps标称,可以尝试开启bbr优化速度,如何操作请查看: