Docker安装Nexus搭建Maven私服及介绍

news2024/11/20 20:35:33

目录

  • 前言
  • 一、Nexus是什么?
  • 二、Docker安装方式
    • 1. 拉取镜像
    • 2. 创建挂载目录
    • 3. 运行
    • 4. 容器运行日志 (可选)
  • 三、用户登录
  • 四、仓库介绍
  • 五、创建代理仓库
  • 六、上传依赖(重点)
  • 七、下载依赖
  • 常见问题
    • 1、如何把新建的仓库添加到组?
    • 2、Nexus代理仓库状态是什么意思?
    • 3、推送到Nexus提示405,是什么问题?


前言

搭建私有maven仓库适合在协同工作时,如:A项目是公司的工具包,B项目中会引入A install后形成的jar包,但是其他同事本地运行也要和你一样的操作吗?到线上运行也要一样的操作吗?所以,这类型产生的jar包需要一个统一的地方来进行管理,只需把A的jar包部署推送到私有maven仓库中,B项目在pom文件中引入依赖即可。


一、Nexus是什么?

官网:https://help.sonatype.com/repomanager3
Nexus是一款非常流行的仓库管理系统,用于管理和分发各种软件包、依赖项、构建工件等。它是一个基于Java的开源软件,最初由Sonatype开发,并在Apache许可证下发布。在软件开发中,通常需要使用大量的代码库和第三方依赖项,这些依赖项可能来自不同的来源。Nexus可以帮助开发人员在一个统一的地方管理所有的依赖项,使得项目开发的过程更加高效和规范化。

二、Docker安装方式

1. 拉取镜像

docker pull sonatype/nexus3:latest

2. 创建挂载目录

mkdir /data/nexus-data
chown -R 200 /data/nexus-data

3. 运行

docker run -d -p 8081:8081 --name nexus \
--restart=always \
-e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx512m \
-XX:MaxDirectMemorySize=1200m" \
-v /data/nexus-data:/nexus-data sonatype/nexus3

4. 容器运行日志 (可选)

# -f 实时追加最新日志
# --tail=N 查看日志的最后 N 行

docker logs -f --tail=100 nexus

启动成功后,浏览器ip+端口访问即进入主页面:

三、用户登录

nexus3的账号是:admin

密码要去挂载的目录查看一个叫admin.password的文件,里面放的就是admin的登录密码。

cd /data/nexus-data

查看密码
cat admin.password

登进去了,根据提示改改密码就可以正常使用了。

四、仓库介绍

在这里插入图片描述

nexus仓库分三种类型:

  1. proxy 代理仓库,比如代理到maven中央仓库。
  2. hosted 宿主仓库,即自己的私人仓库。
  3. group 仓库组,由多个仓库组成,当要下载依赖时会遍历每个仓库去找。

其中,hosted 宿主仓库又分为:releases 和shapshots,分别表示依赖的版本的发行版、快照版。快照版依赖不能上传到发行版仓库,反之亦然。nexus做了限制。

仓库格式有两种:

  1. maven2(关注)
  2. nuget

默认的group仓库组把central、releases 和shapshots这三个仓库都放进去了
在这里插入图片描述

五、创建代理仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

https://maven.aliyun.com/nexus/content/groups/public

六、上传依赖(重点)

1、先配置本地maven的setting.xml

<servers>
  <!-- 这是配置访问私有仓库的用户名密码 -->
  <server>
    <!-- id标签可以随便填,唯一即可 -->
    <id>opals-maven</id>
    <username>dev</username>
    <password>dev</password>
  </server>
</servers>

2、在需要上传的模块pom.xml配置中添加

<distributionManagement>
   <repository>
       <id>opals-maven</id>
       <url>http://ip:port/repository/maven-releases/</url>
   </repository>
   <snapshotRepository>
       <id>opals-maven</id>
       <url>http://ip:port/repository/maven-snapshots/</url>
   </snapshotRepository>
</distributionManagement>

repository 标签是代表上传release版本
snapshotRepository 标签代表上传snapshot版本

  • nexus会根据该模块的版本进行自动选择,如果你的版本号带有SNAPSHOT如:<version>1.0.0-SNAPSHOT</version>,那么会上传到SNAPSHOT仓库,release同理,如果版本号不存在这两个单词,如<version>1.0.0</version>,那么会选择release仓库上传。
  • id,就是上面配置的server id,nexus会通过这个id去server中拿用户名密码去访问私服仓库。
  • url,就是对应仓库的地址:仓库的url复制即可,注意对应仓库

在这里插入图片描述

在这里插入图片描述

注意

在这里插入图片描述

设置为Allow redeploy代表允许我们对仓库中的依赖维护升级新版本,如果设置为disable redeploy意味着我们无法将升级版本上传。

七、下载依赖

1、配置本地maven,打开setting.xml,找到mirrors标签。

然后添加一个mirror标签:

<mirrors>
	<mirror>
	    <id>opals-maven</id>
	    <mirrorOf>*</mirrorOf>
	    <url>`仓库组`的url/</url>
	</mirror>
	
	<mirror>
	    <id>nexus-aliyun</id>
	    <mirrorOf>central</mirrorOf>
	    <name>Nexus aliyun</name>
	    <url>https://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
</mirrors>

在这里插入图片描述


常见问题

1、如何把新建的仓库添加到组?

在这里插入图片描述
在这里插入图片描述

2、Nexus代理仓库状态是什么意思?

online-remote available 表示该被代理仓库可用

online-ready to connect 表示还没有一个依赖去访问这个被代理仓库,nexus不知道这个被代理仓库能不能用,所以它只能展示为待连接状态:

3、推送到Nexus提示405,是什么问题?

Return code is: 405, ReasonPhrase: PUT.

检查pom文件中的<id></id><url></url>配置是否正确,确保是部署到hosted而不是group
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端之旅】vue-router声明式导航和编程式导航

一名软件工程专业学生的前端之旅,记录自己对三件套(HTML、CSS、JavaScript)、Jquery、Ajax、Axios、Bootstrap、Node.js、Vue、小程序开发(Uniapp)以及各种UI组件库、前端框架的学习。 【前端之旅】Web基础与开发工具 【前端之旅】手把手教你安装VS Code并附上超实用插件…

科研作图-常用的图像分割指标 (Dice, Iou, Hausdorff) 及其计算

1. 简介 本节内容主要是介绍图像分割中常用指标的定义、公式和代码。常用的指标有Dice、Jaccard、Hausdorff Distance、IOU以及科研作图-Accuracy,F1,Precision,Sensitive中已经介绍的像素准确率等指标。在每个指标介绍时&#xff0c;会使用编写相关代码&#xff0c;以及使用M…

TypeScript学习记录Ts基础

安装及初步使用 1.CMD全局安装 npm install -g typescript2.检查是否安装成功 tsc -V 如报错tsc 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件[可参考](https://www.cnblogs.com/sanyekui/p/13157918.html)3.在vscode中新建ts文件01_ts.ts let str:strin…

iPhone上5款视频压缩工具推荐,学会轻松压缩视频

随着技术的不断进步&#xff0c;现在移动端设备已经能够轻松地拍摄高清视频&#xff0c;然而这也带来了存储压力的增大。苹果手机更新换代频繁&#xff0c;但内存空间却没有跟着变大&#xff0c;因此如何压缩视频成为了一个重要的问题。 苹果手机怎么压缩视频&#xff1f;有什…

01-ASPICE体系知识

1. ASPICE是什么&#xff1f; ASPICE: 全称是"Automotive Software Process Improvement and Capacity Determination"&#xff0c;汽车软件过程改进及能力评定&#xff0c;是汽车行业用于评价软件开发团队的研发能力水平的模型框架。最初由欧洲20多家主要汽车制造商…

上位机:创建WPF应用并使用控件完成控件交互

创建WPF应用并使用控件完成控件交互 1.XAML是WPF技术中专门用于设计UI的语言。 2.优点,XAML是一种声明型语言,只能用来声明一些UI元素、绘制UI和动画,不能在其中加入程序逻辑。实现UI与逻辑的剥离。 下面使用visual studio2019建立一个WPF项目: 进入项目,点击运行,然后…

FluxMQ—引领物联网新时代的高性能MQTT网关

FluxMQ—引领物联网新时代的高性能MQTT网关 随着物联网技术的快速发展&#xff0c;人们越来越意识到实时、可靠、安全的数据传输对于智能化的生产与生活的重要性。因此&#xff0c;市场对于高性能的物联网数据传输解决方案有着强烈的需求。FluxMQ正是为满足这一需求而诞生的一…

苹果电脑怎么用移动硬盘ntfs 苹果电脑移动硬盘怎么退出

Mac电脑默认不支持写入NTFS格式移动硬盘&#xff0c;这导致很多Mac用户的工作过程遇到很多不必要的麻烦。如何才能让Mac电脑“永久”拥有写入NTFS格式移动硬盘的权限呢&#xff1f;不少用户使用完移动硬盘后直接拔出&#xff0c;这可能会导致未保存的文件丢失。使用完移动硬盘后…

城市供水绩效指标解释

1.城市供水绩效评价指标体系构成 1.1.1绩效指标体系横向构成包括&#xff1a; 背景信息&#xff1a;用于计算指标的数据。 解释性因素&#xff1a;靠管理不易改变的数据。 绩效指标&#xff1a;若干个基础数据的综合运算结果&#xff0c;用于评价所提供服务的有效性…

Python每日一练(20230418)

目录 1. 将有序数组转换为二叉搜索树 &#x1f31f;&#x1f31f; 2. 四数之和 &#x1f31f;&#x1f31f; 3. 排序数组查找元素的首末位置 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C…

JAVA基于局域网的聊天室系统的设计与实现

本文介绍了采用JAVA编程开发视频聊天系统的一套比较常用的解决方案。文字聊天采用TCP模式&#xff1b;语音视频聊天采用UDP模式&#xff0c;在客户端之间点对点的进行。在该方案中&#xff0c;通过函数库VFW来实现视频捕获、影像压缩以及影像播放。微软公司提供的专门用于视频捕…

Python入门教程+项目实战-10.2节: 列表的操作符

目录 10.2.1 列表中的常用操作符 10.2.2 []操作符: 索引访问列表 10.2.3 [:]操作符&#xff1a;列表的切片 10.2.4 操作符&#xff1a;列表的加法 10.2.5 *操作符&#xff1a;列表的乘法 10.2.6 列表的关系运算 10.2.7 in操作符&#xff1a;查找元素 10.2.8 知识要点 …

香港电讯牌照申请介绍

香港对无线电发射器具的进出口实施法律管制&#xff0e;《电讯条例》规定进出口手提电话的人士须持有许可证或无线电商牌照。例如&#xff1a;手机、3C类产品、手提电脑等无线电子产品&#xff0c;通关时须要出示的证件之一。 一、香港电讯牌照申请需提供资料&#xff1a;1、有…

py逆向-NSSCTF-[NISACTF 2022]ezpython

目录 题目&#xff1a; 学到的点&#xff1a; 题目&#xff1a; 之前没遇到过这样的题&#xff0c;看了大佬的wp了解很多&#xff0c;记录一下 放到ida中打开&#xff0c;尝试分析了一下&#xff0c;没头绪 看了题解知道是一道py逆向的题目&#xff0c;需要用到这个工具pyin…

Elasticsearch+filefeat+Kibana(EFK)架构学习

一. 安装ES7集群 准备三台服&#xff0c;最少配置2core4G,磁盘空间最少20G,并关闭防火墙设置集群免密登录&#xff0c;方便scp文件等操作参考集群免密登录方法下载es7的elasticsearch-7.17.3-x86_64.rpm包安装 yum -y localinstal elasticsearch-7.17.3-x86_64.rpm修改node1配…

【SpringMVC】SpringMVC(一:第一个SpringMVC项目)

文章目录1. SSM优化的方向2.SpringMVC的优点3. SpringMVC的优化方向4.SpringMVC执行流程5.第一个SpringMVC项目5.1 创建工程5.2 添加依赖5.3 替换web.xml5.4 开发流程5.4.1完成springmvc.xml文件的配置5.4.2在web.xml文件中注册SpringMVC框架。5.4.3 编写控制器5.4.4 开发页面&…

【Spring Boot】SpringBoot参数验证以及实现原理

文章目录前言SpringBoot参数验证技巧&#xff08;12个技巧&#xff09;一、使用验证注解二、使用自定义验证注解三、在服务器端验证四、提供有意义的错误信息五、将 i18n 用于错误消息六、使用分组验证七、对复杂逻辑使用跨域验证八、对验证错误使用异常处理九、测试你的验证逻…

天啊!炫云的这个智能优化太给力了,渲染费竟然降了这么多!

兄弟们&#xff0c;你们是不是有时候一不小心把自己某一个参数设置错了&#xff0c;导致自己提交到云渲染平台的效果图费用突然增多&#xff0c;找平台理论最后发现是自己参数设置错误导致的问题&#xff0c;又或者对自己的参数设置把握不准的&#xff1f;现在这些问题你都可以…

计算机颜色学---CIE 色度图以及饱和度处理

前言 了解颜色相关理论与成像知识&#xff0c;对于深入了解视觉相关算法与ISP算法而言十分重要&#xff0c;了解颜色理论&#xff0c;离不开CIE色度图&#xff1b; CIE 1931色度图相关知识 CIE 1931 Yxy色度图。外形形似马蹄&#xff0c;所以也叫“马蹄图”&#xff1b; 在色…

ViTPose

具体而言&#xff0c;ViTPose使用普通和非分层vit Transformer[14]作为backbone来提取给定人物实例的特征图&#xff0c;其中backbone通过掩蔽图像建模借口任务&#xff08;例如MAE[16]&#xff09;进行预训练&#xff0c;以提供良好的初始化。然后&#xff0c;下面的轻量级解码…