- 前言
最近在某些神秘力量的影响下,SJTUG/USTC等知名Docker Hub镜像站陆续停止服务。
文本使用CNCF Distribution的registry项目,只需要运行一个Docker容器,就可以自建Docker Hub镜像服务。
- 所需条件
可运行Docker容器的服务器
可以访问docker.io的HTTP代理(如果服务器无法直接访问的话)
3.启动registry服务
准备好registry的存储目录,然后编写如下docker-compose文件:
services:
registry:
image: registry:2
ports:
- "5000:5000"
environment:
REGISTRY_HTTP_ADDR: "0.0.0.0:5000"
REGISTRY_PROXY_REMOTEURL: "https://registry-1.docker.io" # 指定上游仓库地址
HTTPS_PROXY: "{HTTP代理地址}"
restart: always
container_name: registry
volumes:
- "/{你的路径}/registry:/var/lib/registry"
- "/{你的路径}/registry_config.yml:/etc/docker/registry/config.yml"
用docker-compose运行容器即可启动服务:
docker-compose -f registry.yml up -d
- 客户端使用
修改docker配置文件 /etc/docker/daemon.json
{
...
"registry-mirrors": ["http://192.168.1.30:5000"]
...
}
具体的ip看自己的情况配置
然后重启Docker服务,此时就可以快速拉取镜像了
sudo systemctl daemon-reload
systemctl restart docker
参考:https://www.yooo.ltd/2024/06/08/self-host-docker-hub-mirror/