自建docker hub加速镜像
最近一些公共docker hub国内加速镜像相继停止服务了(好像是因为政策原因)。为了满足我们自身需要,我们可以利用海外服务器(追求速度的话还可以用一层国内服务器中转),自建docker hub加速镜像。
首先在服务器安装好docker环境,然后运行下面镜像:
docker run -d --name docker-proxy --restart=always -p 3011:5000 -e REGISTRY_PROXY_REMOTEURL="https://registry-1.docker.io" -e REGISTRY_STORAGE_CACHE_BLOBDESCRIPTOR=inmemory registry:2
这样主体服务就起来了。为了使用标准端口以及域名,我们最好前置一个nginx 。搭建nginx以及配置https域名是基本功,这里不再介绍。提供一个nginx配置文件以供参考下:
server {
listen 80 ;
listen 443 ssl;
ssl_certificate /.acme.sh/docker-proxy.com/fullchain.cer;
ssl_certificate_key /.acme.sh/docker-proxy.com/docker-proxy.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
server_name docker-proxy.com;
location / {
# 仅允许 GET 请求
limit_except GET {
deny all;
}
client_max_body_size 1000m;
proxy_http_version 1.1;
proxy_pass http://localhost:5000; # 请根据实际情况修改你的端口
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 600s; # 如果需要较长的超时时间,请自行调整
}
location /.well-known/acme-challenge/ {
root /var/www/html/;
}
}
此外,为了定时释放内存等资源,可以添加定时任务,定时重启这个服务。
00 5 * * * /usr/bin/docker restart docker-proxy
如无特殊说明,本站皆为原创。转载请注明来自第七星尘的独立博客的《自建docker hub加速镜像》
2024-06-18
编程技术
为什么不直接用cf worker
cf的访问速度不理想。而且如果手头上本来就有境外机器,建个服务会很顺手。如果没有自己的境外服务器的话,那确实可以用cf work
可以通过优选cfip改host的方法,速度可以直接跑满
还是 稳定性 的问题。我觉得优选cfip改host的方法麻烦且不够稳定。我有相当稳定的境外服务器,我觉得自建更靠谱。
噢噢,有海外服务器那确实自建可以,没条件的话cf worker也不错
还有就是我的加速镜像地址可能要被很多地方引用的。比如说,k8s集群要用这个地址来拉取镜像。每台服务器都改host,真心累。而,容器还不会直接使用宿主机的hosts文件,还要额外配置。多容器多服务器的场景,这种方式要累死。我觉得一个良好的加速镜像地址,不要对 客户端 有要求,不要求它改hosts,要让客户端开箱即用。
docker是个好东西?