【docker】centos 使用 Nexus Repository 搭建私有仓库

Nexus Repository 是一种流行的软件仓库管理工具,它可以帮助您搭建私有仓库,以便在内部网络或私有云环境中存储、管理和分发各种软件包和组件。

它常被用于搭建Maven的镜像仓库。本文演示如何用Nexus Repository搭建docker 私有仓库。

使用Nexus Repository搭建本地Docker仓库的步骤如下:

1、下载安装 Nexus Repository

根据你的操作系统下载相应版本的Nexus Repository Manager。如果是Windows系统,就下载Windows64位版本;如果是Unix系统,则下载相应Unix版本。

下载地址:https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3

如果没办法下载可以从我的网盘下载

链接:https://pan.baidu.com/s/1cyk0zcUlu2WEaGSvAugHtQ

提取码:mkx1

1)nexus依赖java环境,所以需要先安装JDK

使用以下命令直接安装Java 8

shell 复制代码
yum install java-1.8.0-openjdk.x86_64 -y

2)解压并安装

这里下载的版本是 nexus-3.63.0-01-unix.tar.gz

shell 复制代码
# 解压
tar -zxvf nexus-3.63.0-01-unix.tar.gz
# 进入bin目录
cd nexus-3.63.0-01/bin
# 启动服务
./nexus start

这里假设安装目录是/opt/nexus/

可以在这里查看启动日志:

shell 复制代码
tail -100f /opt/nexus/sonatype-work/nexus3/log/ nexus.log

启动成功后会动态生成一个admin账号密码,在这里查看:

shell 复制代码
more /opt/nexus/sonatype-work/nexus3/admin.password 

在浏览器中输入地址 http://服务器IP:8081 访问

例如:http://192.168.56.120:8081/

2、创建Docker本地仓库

1)创建docker 仓库

在Nexus Repository Manager的设置页面,选择Repositories,然后点击Create repository。在创建仓库的页面中,选择Docker (hosted)类型,这是本地仓库类型。然后填写仓库的相关信息,如Name(仓库名)和HTTP的端口号(例如8082)。填写完毕后,滑到页面底部,点击Create repository即创建仓库。

2)设置http访问端口

创建docker仓库 mydocker, 勾选http协议,输入端口(这里使用8082,这个是docker客户端使用)

3)开启docker login权限

为了让docker login可以登录,还是需要启用 Docker Bearer Token Realm,在 Nexus 的 "Security" 或 "Realms" 配置部分中设置:

以上步骤完成后,你就成功搭建了一个本地Docker仓库。

3、docker 客户端链接并推送镜像

1)配置可信仓库地址

因为我这里使用http协议,所以,需要在Docker客户端上修改/etc/docker/daemon.json文件(如果文件不存在则新建),添加私有仓库地址到"insecure-registries"列表中,然后重启Docker服务。例如,在daemon.json文件中添加以下内容:

json 复制代码
{
  "insecure-registries": ["192.168.56.120:8082"]
}

保存后,重启docker

shell 复制代码
sudo systemctl restart docker

2)按照格式修改镜像 tag

shell 复制代码
docker tag eda3b9ea0995 192.168.56.120:8082/repository/mydocker/mynginx:1.2

3)使用docker login 登录 Nexus Repository

登录 Nexus Repository ,登录成功后可以在这里看见cat ~/.docker/config.json

shell 复制代码
docker login http://192.168.56.120:8082 -u admin -p "admin123"

4)使用docker push推送镜像

shell 复制代码
docker push 192.168.56.120:8081/repository/mydocker/mynginx:1.2

登录 Nexus Repository 查看推送结果

相关推荐
weixin_462446232 小时前
使用 Python 脚本自动化管理 Docker 容器:启动、修改密码、删除及系统资源监控
python·docker·自动化·系统监控
溜达的大象2 小时前
Navidrome 打造专属无损音乐库,加载cpolar局域网外访问也能超丝滑
阿里云·docker·云原生·eureka
hi_link3 小时前
Docker 端口绑定 0.0.0.0,但 127.0.0.1 访问不到服务的问题总结
云原生·eureka
深入技术了解原理3 小时前
引入eureka依赖但是无法注册:无法解析配置属性 ‘eureka.client.service-url.defaultZone‘
spring boot·spring cloud·云原生·eureka
Wpa.wk3 小时前
Docker容器 - 了解Docker基础命令(容器+镜像命令)
运维·经验分享·测试工具·docker·容器
步菲4 小时前
Windows系统安装Docker Desktop配置daemon.json不生效问题解决
windows·docker·容器
sxy_97615 小时前
AX86u官方固件温度监控(CPU,WIFI芯片)
python·docker·curl·nc·nas·温度·ax86u
optimistic_chen5 小时前
【Docker入门】Docker Registry(镜像仓库)
linux·运维·服务器·docker·容器·镜像仓库·空间隔离
木卫二号Coding6 小时前
Docker-构建自己的Web-Linux系统-镜像kasmweb/ubuntu-jammy-desktop
linux·ubuntu·docker
加油vekiki6 小时前
linux服务器搭建docker、docker-compose
linux·服务器·docker·容器