基于nexus3搭建docker镜像仓库(registry mirror)

网友投稿 1890 2022-11-12

基于nexus3搭建docker镜像仓库(registry mirror)

基于nexus3搭建docker镜像仓库(registry mirror)

摘要

本文记录使用 nexus 3 部署 docker 镜像仓库及镜像代理功能。 使用 Kubespray 在安装 kubernetes 过程中,会直接从官方镜像仓库(如 ​​hub.docker.com​​,gcr.io, quay.io 等)拉取镜像,同时还会从 github - kubeadm、etcd、cni 等二进制文件,重度依赖访问外网,因此我们有必要先配置镜像代理服务器。

安装 nexus 3

- nexus-3.20.1-01-unix.tar.gz 访问如下地址,随便填写一个邮箱,- nexus oss 二进制包:​​Nexus Repository OSS - Universal Repository Solution | Sonatype​​解压并启动服务

cd /data/tar xf /root/nexus-3.20.1-01-unix.tar.gzln -sf nexus-3.19.1-01 nexuscd nexus && bin/nexus start

以上会将服务运行在 ​​8081​​​ 端口,默认账户名/密码:​​admin/admin123​​

配置 nexus 使用 代理

准备一个可以正常访问外网的代理省略。在 nexus 中配置代理设置在 neuxs 的 System - HTTP 下,勾选 HTTP proxy 并填写上述端口和地址:

HTTP proxy host:127.0.0.1 HTTP proxy host:30888

排除代理国内服务有时候我们也想用 nexus 来整合国内的一些-服务,以及我们自己的私有仓库,提供统一的入口。如果还让这些仓库走代理,那就又慢又耗费 v.p.s 流量了。不用担心,Nexus 提供了在 HTTP 代理中排除域名的功能,只要将国内的域名添加到排除列表即可。

配置 Docker 仓库代理

创建 Blobs在 Nexus 上创建一个 Docker 专用的 Blob,Nexus 会在磁盘上创建一个对应的目录并存储文件及索引。这样,如果某天我们要在其它环境部署一套一样的代理,我们可以直接拷贝 Nexus 应用目录,以及这个 blob 存储就行了。在设置 - Repository - Blob Stores下,新建一个 Blob,比如名为​​blob-docker​​。创建 Repositries依次配置添加下面几个仓库地址的 Docker 镜像代理,类型选择 Proxy:

​​Group 类型的 Docker 仓库,将前面代理类型仓库进行聚合。 这里需要为 Group 类型的仓库地址监听一个端口,用来提供 docker 服务,我们使用 8082 。然后为这个服务绑定一个域名,并配置 证书。

做完这些,我们就有一个自己的 Docker 镜像仓库地址了, 比如域名为:​​​pull hub.fintecer.com/busyboxdocker pull hub.fintecer.com/nginx:1.16.0docker pull hub.fintecer.com/coreos/etcd:v3.2.26

Docker 守护进程设置 registry-mirrors 参数如果我们在 docker 的 daemon.json 文件指定了​​​"registry-mirrors": ["我们甚至可以不用域名就能直接拉取镜像了。daemon.json 示例:

mkdir /etc/docker cat > /etc/docker/daemon.json << EOF{ "registry-mirrors": [" "bip": "10.255.255.1/24", "ipv6": false}EOF# 重启服务systemctl daemon-reloadsystemctl restart docker

最后使用如下方式-镜像:

docker pull busyboxdocker pull nginx:1.16.0docker pull coreos/etcd:v3.2.26

当我们从 github -现成的 yaml 文件时,几乎无需修改镜像地址就能正常拉起服务了,非常方便。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:kaniko --customPlatform参数:支持不同平台的镜像构建(如:arm等)
下一篇:Aha!设计模式(40)-单例(6)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~