首页 > 其他分享 >使用Nexus搭建Docker仓库

使用Nexus搭建Docker仓库

时间:2025-01-14 14:45:30浏览次数:1  
标签:8086 8087 5.6 Nexus 192.168 仓库 Docker docker 搭建

一、背景

Nexus之前已支持了nuget,由于docker仓库和前面几个存在比较大的差异,所以我特此记录下走过的坑。希望能对后来者有所帮助~~(当然,docker私有仓库,大多数是推荐使用harbor,因为我这里的某些历史原因,就沿用nexus)

二、建立仓库

依次建立代理仓库、私有仓库、组合仓库。

需要注意的有以下几点:

  • 代理仓库可以添加多个
  • 私有仓库和组合仓库的端口号,必须暴露出去
  • 组合仓库需要把代理仓库和私有仓库组合起来

先建立好存储空间:

2.1、代理仓库

 

2.2、私有仓库(既可以pull镜像,又可以push镜像)

2.3、组合仓库(仅限于pull镜像)

这里的顺序是:先二方库私有库,再是三方库代理库。

三、添加权限

四、docker客户端

4.1、配置

1 2 3 4 5 6 7 8 9 { # 对应组合仓库的ip和端口   "registry-mirrors": ["http://192.168.5.6:8087"], # 需要把组合仓库和私有仓库都加入进来 # 因为在推送镜像的时候是使用私有仓库,在拉取镜像的时候是使用组合仓库    "insecure-registries": [          "192.168.5.6:8086",          "192.168.5.6:8087"] }

重启,使配置生效

1 systemctl daemon-reload && systemctl restart docker

4.2、登录并保存认证

1 2 docker login 192.168.5.6:8086 -u admin -p 123456 docker login 192.168.5.6:8087 -u admin -p 123456

cat ~/.docker/config.json

1 2 3 4 5 6 7 8 9 10 11 12 13 {         "auths": {                 "192.168.5.6:8086": {                         "auth": "YWRtaW46MTIzNDU2"                 },                 "192.168.5.6:8087": {                         "auth": "YWRtaW46MTIzNDU2"                 },                 "harbor.xx.cloud": {                         "auth": "YWRtaW46SGFyYm9xMTIzNDU="                 }         } }

好处是不用重复认证,你可以使用如下方法进行解密。

1 2 echo -n  "YWRtaW46MTIzNDU2" | base64 -d echo -n  "YWRtaW46SGFyYm9xMTIzNDU=" | base64 -d

同理,你更可以进行主动加密。

1 echo -n 'admin:123456' | base64

 

五、推送和拉取镜像

推送镜像

1 2 3 4 # 给构建好的image进行打tag docker tag xxx/devops-service:1.0.7 192.168.5.6:8086/xxx/devops-service:1.0.7 # 推送到指定的docker仓库 docker push 192.168.5.6:8086/xxx/devops-service:1.0.7

拉取镜像

1 docker pull 192.168.5.6:8086/xxx/devops-service:1.0.7

 

六、总结

6.1、走过的坑一:连接拒绝

没有暴露8086和8087端口

nexus是使用docker搭建的,需要进行一番修改。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [root@maven3 ~]# vi docker-compose.yml version: '3' services:   nexus:     restart: always     image: sonatype/nexus3 #    image: docker.io/sonatype/nexus3     container_name: nexus3     ports:       - 8081:8081       - 8082:8082       - 8083:8083       - 8084:8084       - 8085:8085 # 新增8086和8087两个端口号       - 8086:8086       - 8087:8087     volumes:       - /opt/nexus:/opt/sonatype/nexus:Z       - /data/nexus-data:/nexus-data:Z

重启nexus

1 2 3 4 5 6 7 8 9 10 [root@maven3 ~]# docker-compose down Stopping nexus3 ... done Removing nexus3 ... done Removing network root_default [root@maven3 ~]# docker-compose up -d Creating network "root_default" with the default driver Creating nexus3 ... done [root@maven3 ~]# docker ps CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                        NAMES 99f41bdf4993        sonatype/nexus3                 "sh -c ${SONATYPE_..."   14 seconds ago      Up 13 seconds       0.0.0.0:8081-8087->8081-8087/tcp             nexus3

确保8086和8087端口都暴露出去了

6.2、404 Not Found

是因为没有Realms:Docker Bearer Token Realm进行激活。

 

六、说在最后的话

  • 一定要弄清楚端口号
  • docker仓库和maven/nuget的差异甚大 

标签:8086,8087,5.6,Nexus,192.168,仓库,Docker,docker,搭建
From: https://www.cnblogs.com/yswenli/p/18670723

相关文章

  • moredoc魔豆文库系统搭建ubuntu
    系统:ubuntu:20.04软件:moredoc-ce:3.2.0根据官方手册进行安装https://www.bookstack.cn/read/moredoc/install-linux.mdMySQL安装及问题处理ubuntu更新系统aptupdateaptupgrade-y安装MySQLaptinstall-ymysql-serveraptinstall-ylibmysqlclient-dev启动MySQ......
  • 【向量数据库】搭建RAG架构,如何选择向量数据库产品?
    搭建RAG架构应用时,选择合适的向量数据库是关键。向量数据库是RAG系统的核心组件,负责存储和检索高维向量数据,从而支持高效的语义搜索和信息检索功能。那么今天与大家分享下如何选择向量数据库,以及主流向量数据库产品的推荐,供您参考学习。如何选择向量数据库?性能与延迟:向量数据库......
  • centos7 2节点搭建mha
    配置主从同步:创建用于同步的用户:createuserrepl@'%'identifiedby'Admin@123';grantREPLICATIONCLIENT,REPLICATIONSLAVEon*.*torep@'%';创建用户mha连接的用户:CREATEUSER'mha'@'%'IDENTIFIEDWITHmysql_native_passwordB......
  • docker 部署clickhouse
    clickhouse部署mkdir-p/home/data/clickhouse/datamkdir-p/home/data/clickhouse/confmkdir-p/home/data/clickhouse/logmkdir-p/home/data/clickhouse/client-confchmod-R777/home/data/clickhouse/dockerrun--rm-d--name=clickhouse--ulimitnofile=262144:2......
  • 如何修改 Docker 和 Docker Compose 默认占用的网段
    在使用Docker和DockerCompose进行容器化部署时,Docker默认会为容器分配一个私有网段(通常是172.17.0.0/16)。然而,在某些情况下,这个默认网段可能会与现有的网络环境冲突,导致网络连接问题。为了避免这种情况,我们可以手动修改Docker和DockerCompose的默认网段。本文将介绍......
  • Spring Cloud环境搭建
    目录开发环境安装JDK介绍安装MySQL安装服务介绍服务拆分服务拆分原则1.单⼀职责原则2.服务自治3.单向依赖案例拆分数据准备订单服务商品服务开发环境安装JDK介绍Oracle从JDK9开始每半年发布⼀个新版本,新版本发布后,⽼版本就不再进⾏维护.但是会有......
  • VScode搭建opencv环境c++,这个是我发的压缩包里面的
    通过网盘分享的文件:D.zip等2个文件链接:https://pan.baidu.com/s/1qiU3rgd4did84F83d3yKnQ提取码:npkg这里面的新建文件夹是软件,不用管D代表配置文件,里面的代码要改路径D里面有两个文件夹,一个是.vscode,里面的文件代码要改,后文会讲到一个是Debugger,这个不要管还有......
  • ubuntu22.04系统Docker安装
    1、配置docker源#AddDocker'sofficialGPGkey:apt-getupdateapt-getinstallca-certificatescurlinstall-m0755-d/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg-o/etc/apt/keyrings/docker.ascchmoda+r/etc/apt/keyrings......
  • 如何高效运营OZON:从基础搭建到运营策略
    一、市场分析与定位在开始运营OZON之前,进行市场研究是必不可少的。通过分析市场趋势、竞争对手和目标客户的需求,可以为你的运营策略提供有力的数据支持。使用市场调研工具,了解当前的消费趋势和市场需求,帮助你制定适合的产品和营销策略。了解OZON平台上的主要竞争对手,包括他们......
  • 如何高效运营OZON:从基础搭建到运营策略
    一、市场分析与定位在开始运营OZON之前,进行市场研究是必不可少的。通过分析市场趋势、竞争对手和目标客户的需求,可以为你的运营策略提供有力的数据支持。使用市场调研工具,了解当前的消费趋势和市场需求,帮助你制定适合的产品和营销策略。了解OZON平台上的主要竞争对手,包括他们......