赞
踩
参考: https://kubesphere.com.cn/forum/d/3001-dockerhub/4
只有当该registry没有该镜像的时候会从外网拉取一次,以后全部走缓存,极大的减少了向dockerhub的拉取次数,从而顺利解决dockerhub限速限次数问题。
# 创建本地volume,持久化保存镜像文件
docker volume create docker-repo
# 拉取镜像
docker pull registry:latest
# 启动docker-hub-cache容器
docker run -d --name docker-cache \
--restart=always \
-p 5000:5000 \
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
-v docker-repo:/var/lib/registry \
registry
# k8s环境可以选择https://k8s.gcr.io
# 创建本地volume,持久化保存镜像文件
nerdctl -n k8s.io volume create docker-repo
# 拉取镜像
nerdctl -n k8s.io pull registry:latest
# 启动docker-hub-cache容器
nerdctl -n k8s.io run -d --name docker-cache \
--restart=always \
-p 5000:5000 \
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
-v docker-repo:/var/lib/registry \
registry
# k8s环境可以选择https://k8s.gcr.io
docker配置加速镜像
# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"http://192.168.0.10:5000"
]
}
# 重启docker服务
systemctl daemon-reload
systemctl restart docker
# 查看镜像地址
[root@k8s-node3 ~]# docker info --format '{{ .RegistryConfig.Mirrors }}'
[http://192.168.93.9:5000/]
containerd
配置加速镜像
# 获取私有仓库中的所有镜像
docker-registry-cli 镜像地址:5000 list all sll
# 搜索私有仓库中的镜像
docker-registry-cli 镜像地址:5000 search 镜像名 sll
[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/_catalog
{"repositories":["nginx"]}
[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/image_name/tags/list
{"errors":[{"code":"NAME_UNKNOWN","message":"repositoryname not known toregistry","detail":{"name":"image_name"}}]}
[root@k8s]# curl -XGET http://192.168.1.8:5000/v2/nginx/tags/list
{"name":"nginx","tags":["latest"]}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。