记得之前有看网友发过docker registry搭建私人docker加速镜像的,不过这样做首先要装docker,还要拉取docker registry,最关键的是加速的仓库机器还要缓存文件。Nginx的加速相对来说简单一点了,直接上配置,其中示例域名换成自己的,SSL证书自行替换
server {
server_name speedup.docker.com;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/speedup.docker.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/speedup.docker.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass https://registry-1.docker.io;
proxy_set_header Host registry-1.docker.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
proxy_intercept_errors on;
recursive_error_pages on;
error_page 301 302 307 = @handle_redirect;
}
location @handle_redirect {
resolver 1.1.1.1;
set $saved_redirect_location '$upstream_http_location';
proxy_pass $saved_redirect_location;
}
}
server {
if ($host = speedup.docker.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name speedup.docker.com;
return 404;
}
@ixinshang #5 其实能做鉴权、控制流量、控制时间的,复杂的要外置lua脚本了
有个docker反代项目可以直接拉11个仓库的镜像,那个适应性还是广一点
@scarlett #1 看实际情况吧,我用来加速的机器硬盘就3g
直接用Cloudflare Workers搭建就行,省一台小鸡
@scarlett #1 我最开始也是用纯nginx加速,后来才换成那个docker项目的
能push吗或者登录账号
这个nginx反代如何防止被扫到盗刷呢
@zishou #6 做简单的就是加一个简单的密码校验