使用Nexus3为containerd和docker配置镜像代理

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

  1. 编辑containerd配置文件。通常情况下,配置文件位于:/etc/containerd/config.toml
  2. 在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"]
  1. 重启containerd服务
systemctl restart containerd
  1. 代理验证:
    使用crictl命令拉取镜像
crictl pull nginx:1.17
Image is up to date for sha256:9beeba249f3ee158d3e495a6ac25c5667ae2de8a43ac2a8bfd2bf687a58c06c9

4.docker配置代理

本文docker版本为:25.0.3

  1. 编辑dcokerd配置文件。通常情况下,配置文件位于:/etc/docker/daemon.json
  2. 在daemon.json文件中添加如下内容:
{
   "registry-mirrors":["http://代理地址:8443"],
   "insecure-registries":["代理地址:8443"]
}
  1. 重启docker服务
systemctl restart docker
  1. 代理验证
docker pull nginx:1.16
1.16: Pulling from library/nginx
54fec2fa59d0: Pull complete
5546cfc92772: Pull complete
50f62e3cdaf7: Pull complete
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值