简介
最近dockerhub不是出了点问题嘛,所以就把我用的方法贡献给大家
操作
首先你要有一个国外的主机,或者直接扔在路由小主机什么地方都可以,总之要访问到国外的网站
然后clone我的这个项目
https://github.com/bboysoulcn/registry-mirror
目前支持下面几个镜像仓库
- dockerhub
- gcr
- ghcr
- k8sgcr
- quay
- registryk8s
你想要用哪一个直接进入对应的目录然后docker-compose up -d
就好了
之后使用nginx做一下反向代理,下面给个示例配置
server {
listen 443 ssl http2;
server_name ghcr.xxx.com;
ssl_certificate cert/cloudflare/cloudflare.pem;
ssl_certificate_key cert/cloudflare/cloudflare.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location /{
proxy_pass http://127.0.0.1:5001;
access_log logs/ghcr.log main;
client_max_body_size 1000m;
}
}
每个仓库的端口都是不一样的,配置反向代理的时候要看下对应的docker-compose配置里面的端口
之后直接使用就好了,比如你要拉nginx的镜像,原来是
docker pull nginx:latest
现在是
docker pull hub.xxx.com/library/nginx:latest
然后因为是代理仓库,所以为了不会把本地或者服务器的硬盘塞满,我是配置了168h小时之后清理缓存的,如果个人低频率用用,一般不用关注磁盘问题
欢迎关注我的博客www.bboy.app
Have Fun