1.Nexus3介绍:
Nexus3(Nexus Repository Manager3)是一个用于存储、组织和管理软件组件(如 JAR文件、npm包、Docker镜像等)的仓库管理系统。它由Sonatype开发并维护。Nexus Repository Manger支持许多流行的包管理工具和格式,包括 Maven、npm、rpm、apt、PyPI、Docker。
Nexus3提供了一个Web UI,用户可以通过浏览器轻松地管理仓库和组件。
2.Nexus3创建镜像仓库代理:
2.1 创建Blob Store
2.2 创建Docker Hub代理
代理地址:https://registry-1.docker.io
2.3 创建registry.k8s.io代理
代理地址:https://k8s.dockerproxy.com
2.4 创建docker-group
docker-group用于将多个docker-group聚合,统一对外提供服务;
这样客户端可以只需要配置一个地址就可以代理多个仓库;
3.containerd配置代理
本文containerd版本为:1.7.1
- 编辑containerd配置文件。通常情况下,配置文件位于:/etc/containerd/config.toml
- 在config.toml文件中,找到[plugins.“io.containerd.grpc.v1.cri”.registry.mirrors]部分,然后编辑或添加以下内容:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["http://代理地址:8443"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["http://代理地址:8443"]
- 重启containerd服务
systemctl restart containerd
- 代理验证:
使用crictl命令拉取镜像
crictl pull nginx:1.17
Image is up to date for sha256:9beeba249f3ee158d3e495a6ac25c5667ae2de8a43ac2a8bfd2bf687a58c06c9
4.docker配置代理
本文docker版本为:25.0.3
- 编辑dcokerd配置文件。通常情况下,配置文件位于:/etc/docker/daemon.json
- 在daemon.json文件中添加如下内容:
{
"registry-mirrors":["http://代理地址:8443"],
"insecure-registries":["代理地址:8443"]
}
- 重启docker服务
systemctl restart docker
- 代理验证
docker pull nginx:1.16
1.16: Pulling from library/nginx
54fec2fa59d0: Pull complete
5546cfc92772: Pull complete
50f62e3cdaf7: Pull complete