Linux使用docker搭建maven私有仓库
引言
在实际开发工作中,通常需要搭建maven私有仓库,今天就教大家如何搭建一套maven的私有仓库
Nexus介绍
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
安装docker
请参考笔者另一篇文章————物理机安装Centos系统
docker中安装nexus3
1. 拉取镜像
##在之前可以通过docker search nexus 命令搜索一下docker公有库在的 nexus相关的镜像
docker pull sonatype/nexus3
2. 建立数据储存文件夹
##建立数据存放文件夹,用于docker中nexus的数据与本地物理机映射
mkdir -p /usr/local/nexus3/nexus-data
##更改权限
chown 777 /usr/local/nexus3/nexus-data
3. 安装并运行容器
docker run -d -p 8081:8081 --name docker-nexus3 -v /usr/local/nexus3/nexus-data:/nexus-data sonatype/nexus3
安装完成
通过web访问管理端(记得配置防火墙):http://10.10.10.10:8081/

配置Nexus
密码配置
进入Nexus3主页后,点击右上角“Sign in”

提示输入密码,并告知你的密码储存位置
Your admin user password is located in /nexus-data/admin.password on the server.
因为docker中nexus3的数据储存位置与本地物理机建立了映射关系,所有在物理机上的地址应该是
/usr/local/nexus3/nexus-data/admin.password
配置阿里云代理仓库
- 新建仓库(Create repository)
- 选择maven2(proxy)
- 填写仓库名称——maven-aliyun,并填入仓库url
http://maven.aliyun.com/nexus/content/groups/public - 将创建的maven-aliyun放入到maven-public中

创建项目私有库
- 创建两个仓库(使用maven2(hosted)类型的库),分别选择
Snapshot 和 Release,命名为(java-snapshout 和 java-release) - 创建一个Group类型仓库,将java-release和之前创建的阿里代理库添加其为成员,当客户端拉取jar包的时候,会从阿里云和私有的release库中拉取(命名为java-group)
创建用户
- 创建角色(develop),并分配nx-all权限

- 创建用户(test),并授予develop角色

本地使用
修改本地maven配置文件(conf/setting.xml)
1.servers节点下添加以下内容(username和password为刚刚在nexus3中添加的用户和其密码)
<server>
<id>nexus-xu</id>
<username>test</username>
<password>123456</password>
</server>
<server>
<id>releases</id> <!--对应pom.xml的id=releases的仓库-->
<username>test</username>
<password>123456</password>
</server>
<server>
<id>snapshots</id> <!--对应pom.xml中id=snapshots的仓库-->
<username>test</username>
<password>123456</password>
</server>
2.mirrors节点下添加以下内容
<mirror>
<id>nexus-xu</id>//对应上面的用户名和密码
<name>internal nexus repository</name>
<!--镜像采用配置好的组的地址-->
<url>http://10.10.10.10:8081/repository/java-group/</url>
<mirrorOf>!internal.repo,*</mirrorOf>
</mirror>
项目中发布
在pom中的project节点下配置如下内容
<distributionManagement>
<repository>
<!--id对应着maven的setting.xml中的用户账户-->
<id>releases</id>
<!-- 如果没有写xxx-SNAPSHOUT,默认发布到release -->
<url>http://10.10.10.10:8081/repository/java-release/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.10.10.10:8081/repository/java-snapshot/</url>
</snapshotRepository>
</distributionManagement>
Linux使用docker搭建maven私有仓库的更多相关文章
- 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...
- 安装Maven并搭建Maven私有仓库
一.说明 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十 ...
- 在 Docker 搭建 Maven 私有库
在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely ...
- 使用nexus3.10搭建maven私有仓库
使用nexus3.10搭建maven私有仓库-----详见如下链接-- --此贴用于笔记 https://blog.csdn.net/vipbupafeng/article/details/80232 ...
- docker 搭建本地私有仓库
1.使用registry镜像创建私有仓库 安装docker后,可以通过官方提供的 registry 镜像来简单搭建一套本地私有仓库环境: docker run -d -p : registry: 这将 ...
- Docker学习笔记六:Docker搭建企业级私有仓库
前言 Docker不仅是一个强大的服务器部署工具,而且它还有一个官方的Docker Hub registry用于储存Docker镜像.上传镜像到Docker Hub是免费的,上传的镜像文件同时也对公共 ...
- 使用verdaccio+docker搭建npm私有仓库以及使用
公司内部前端组件或库的共享等,搭建一个npm私有库就很方便,现在中大型公司也基本都有自己的npm私有库,这篇文章,和大家一起共同搭建一个npm私有库,共同学习 前置条件 一台电脑 可以联网 一.安装d ...
- Nexus 搭建maven 私有仓库
nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如 ...
- Nexus搭建Maven私有仓库
原文:http://blog.csdn.net/rickyit/article/details/54927101 前言 Nexus Repository Manager is a Javaapplic ...
- 基于Docker搭建pypi私有仓库
一.搭建 1.准备htpasswd.txt文件 该文件内容包含上传包至仓库时验证的用户名和密码 pip install htpasswd htpasswd -sc htpasswd.txt <u ...
随机推荐
- StarRocks X Flink CDC,打造端到端实时链路
简介: 作为一款全平台极速 MPP 架构,StarRocks 提供了多种性能优化手段与灵活的建模方式,在预聚合.宽表和星型/雪花等多种模型上,都可以获得极致的性能体验.通过 StarRocks 结合 ...
- 深入解析 Dubbo 3.0 服务端暴露全流程
简介: 随着云原生时代的到来,Dubbo 3.0 的一个很重要的目标就是全面拥抱云原生.正因如此,Dubbo 3.0 为了能够更好的适配云原生,将原来的接口级服务发现机制演进为应用级服务发现机制. ...
- [Go] 选择 Beego 的三个理由
1. 项目支持角度较其它框架考虑的多一些,比如:目录结构的简单约定,内置项目配置读取,内置bee脚手架,热重载特性 等. (实际这些 feature 都可以找到 golang 专精的组件引入起来,效果 ...
- [Go] assignment count mismatch 1 = 2
Golang 中这个错误的的意思是赋值变量的数目不匹配. 举例: result := json.Marshal(List) 由于没有给返回值中的 error 正确赋值,就会报 assignment ...
- docker容器资源配额
1.docker 容器控制CPU docker通过cgroup来控制容器使用的资源限制,可以对docker限制的资源包括cpu.内存.磁盘 1.1 指定docker容器可以使用的cpu份额 # 查看配 ...
- Ubuntu(Linux)虚拟机与主机共享文件夹hgfs文件普通用户不能访问问题
参考文章: https://blog.csdn.net/weixin_42224577/article/details/108107554 在虚拟机中设置好添加共享文件后,普通用户并不能访问mnt文件 ...
- 瑞亚时间管理大师,基于 .NET 6 和 Angular 构建的在线任务管理协作平台
瑞亚时间管理大师 瑞亚时间管理大师, 是一个在线的任务管理.项目管理. 团队协作平台.瑞亚 拥有现代化的页面风格,高效.简便,同时适合个人和团队使用. 瑞亚对个人免费,提供了无限制的任务,列表,和空间 ...
- 说一下flex的属性
flex-grow项目的放大比例,默认为0,即如果存在剩余空间,也不放大. flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小.负值对该属性无效. flex-bas ...
- 网络安全—PGP8.1软件应用
文章目录 安装PGP8 了解 工作原理 PGP使用 准备工作 加密与解密 加密者视角(发送方) 接收者视角(接收方) 签名 签名方(发送方) 验证签名方(接收方) 补充 加密签名一段文字 签名后的格式 ...
- IDEA的Ctrl+Enter补全代码失效
前景提示 IDEA有个ctrl+enter可以补全代码的功能,但是,今天突然失效了,原来是这个问题. 修改配置 进入setting修改 进入Edit-->找到Intertions,搜素Intro ...