docker搭建maven私库Nexus3

这篇具有很好参考价值的文章主要介绍了docker搭建maven私库Nexus3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Maven私服?

Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。

当然也并不是说私服只能建立在局域网,也有很多公司会直接把私服部署到公网,具体还是得看公司业务的性质是否是保密的等等,因为局域网的话只能在公司用,部署到公网的话员工在家里也可以办公使用。

建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。

请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步;
请求 Maven 私服,将所需构件下载到本地仓库,若私服中不存在所需构件,则跳转到第 3 步。
请求外部的远程仓库,将所需构件下载并缓存到 Maven 私服,若外部远程仓库不存在所需构件,则 Maven 直接报错。
此外,一些无法从外部仓库下载到的构件,也能从本地上传到私服供其他人使用。

Maven 私服优势

Maven 私服具有以下 5 点优势:

  • 节省外网带宽:大量对于外部远程仓库的重复请求,会消耗很大量的带宽,利用 Maven私服代理外部仓库后,能够消除对外部仓库的大量重复请求,降低外网带宽压力。
  • 下载速度更快:Maven 私服位于局域网内,从私服下载构建更快更稳定。
    便于部署第三方构件:有些构件是无法从任何一个远程仓库中获得的(例如,某公司或组织内部的私有构件、Oracle 的 JDBC 驱动等),建立私服之后,就可以将这些构件部署到私服中,供内部 Maven 项目使用。
  • 提高项目的稳定性,增强对项目的控制:如果不建立私服,那么 Maven 项目的构件就高度依赖外部的远程仓库,若外部网络不稳定,则项目的构建过程也会变得不稳定。建立私服后,即使外部网络状况不佳甚至中断,只要私服中已经缓存了所需的构件,Maven 也能够正常运行。
  • 此外还提供了很多额外控制功能,例如,权限管理、RELEASE/SNAPSHOT 版本控制等,可以对仓库进行一些更加高级的控制。
  • 降低中央仓库得负荷压力:由于私服会缓存中央仓库得构件,避免了很多对中央仓库的重复下载,降低了中央仓库的负荷。

环境要求

需要先安装
1.docker
2.jdk

安装Nexus

下载一个nexus3的镜像:

docker pull sonatype/nexus3

使用nexus3镜像创建并启动一个容器,然后指定暴露18091端口到对应主机的18091端口:

docker run -d -p 18091:18091 --name nexus -v /backup/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

查看启动容器的状态

docker ps

docker搭建maven私库Nexus3,分布式理论&中间件搭建,容器,前沿框架,docker,maven,容器

查看容器日志

docker logs -f -t 容器名称id

由于nexus的默认端口为8081,我们在启动的时候改为18091后需要修改nexus的配置文件

先进入容器

docker exec -it 容器名称 bash

修改配置文件

vi /opt/sonatype/nexus/etc/nexus-default.properties 

docker搭建maven私库Nexus3,分布式理论&中间件搭建,容器,前沿框架,docker,maven,容器

同时查看admin密码

vi /nexus-data/admin.password

这样就可以在本地浏览器进入nexus页面了,地址为 服务器ip:18091
docker搭建maven私库Nexus3,分布式理论&中间件搭建,容器,前沿框架,docker,maven,容器

右上角登录用户名为admin,密码为之前查看的密码。

浏览器访问配置仓库

删除nuget开头的仓库
配置maven-central的代理地址
docker搭建maven私库Nexus3,分布式理论&中间件搭建,容器,前沿框架,docker,maven,容器

阿里代理地址:http://maven.aliyun.com/nexus/content/groups/public/

配置本地maven的settings.xml

servers标签修改 仓库权限用户名和密码

	<server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>wubuer@2021</password>  
	</server>
	<server>   
		<id>maven-snapshots</id>   
		<username>admin</username>   
		<password>wubuer@2021</password>   
	</server>

mirrors添加仓库中group类型的仓库

	<mirror>  
       <id>nexus</id>  
       <name>internal nexus repository</name>  
       <url>http://119.3.90.18:18091/repository/maven-public/</url>  
       <mirrorOf>central</mirrorOf>  
   </mirror> 

profiles添加仓库中仓库信息

	<profile>    
    <id>nexus</id>    
     <repositories>    
       <repository>    
         <id>maven-public</id>    
         <url>http://119.3.90.18:18091/repository/maven-public/</url>    
         <releases>
  		<enabled>true</enabled>
  	   </releases>    
         <snapshots>
  		<enabled>true</enabled>
  	   </snapshots>    
       </repository>    
       <repository>    
         <id>maven-snapshots</id>    
         <url>http://119.3.90.18:18091/repository/maven-snapshots/</url>    
         <releases><enabled>true</enabled></releases>    
         <snapshots><enabled>true</enabled></snapshots>    
       </repository>    
     </repositories>    
     <pluginRepositories>    
        <pluginRepository>    
               <id>maven-releases</id>    
                <url>http://119.3.90.18:18091/repository/maven-releases/</url>    
                <releases><enabled>true</enabled></releases>    
                <snapshots><enabled>true</enabled></snapshots>    
              </pluginRepository>    
              <pluginRepository>    
                <id>maven-snapshots</id>    
                 <url>http://119.3.90.18:18091/repository/maven-snapshots/</url>    
               <releases><enabled>true</enabled></releases>    
                <snapshots><enabled>true</enabled></snapshots>    
            </pluginRepository>    
        </pluginRepositories>    
   </profile>

配置pom.xml

添加标签文章来源地址https://www.toymoban.com/news/detail-762558.html

 <distributionManagement>
      <repository>
          <id>maven-releases</id>
          <name> Nexus Release Repository </name>
          <url> http://119.3.90.18:18091/repository/maven-releases/ </url>
      </repository>
      <snapshotRepository>
          <id>maven-snapshots</id>
          <name> Nexus Snapshot Repository </name>
          <url> http://119.3.90.18:18091/repository/maven-snapshots/ </url>
      </snapshotRepository>
  </distributionManagement>

到了这里,关于docker搭建maven私库Nexus3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nexus3 maven迁移仓库迁移

    迁移背景: 从nexus 3.33 升级到 nexus 3.64 过程中,私服 maven 的 snapshot 和 hosted 无法上传。由于这个 snapshot 和 hosted 和 npm-proxy 放的同一个 blob存储,无法单独拆除去,所以采用迁移的方式 迁移思路: down下来 snapshot 和 hosted 仓库,然后 批量上传,下方的代码演示的 release 更改相

    2024年01月18日
    浏览(59)
  • nexus搭建npm依赖私库

    nexus搭建npm依赖私库 npm仓库介绍 3.2.1.仓库类型 点击左侧菜单栏 Repositories ,我们可以看到很多已经配置好的仓库,一般只使用开源jar就够用了,如果需要建立自定义仓库,点击 Create repository 创建新的仓库 首先我们要创建几个常用的代理源,用于常用开源npm模块的拉取。 骤依

    2024年02月05日
    浏览(38)
  • Docker 安装 Nexus3及使用方法

    1.1 创建目录 在硬盘上创建 Nexus3 的主目录: 为该目录添加权限: 1.2 拉取镜像 搜索镜像: 拉取镜像: 效果: 1.3 运行容器 镜像拉取完毕后,便可运行容器,这里映射了 nexus-data 目录到上面创建的目录和三个端口。三个端口分别是: 创建启动脚本 脚本内容: 保存 给 startNex

    2024年02月08日
    浏览(34)
  • Nexus3 重置 admin 账号密码

    nexus3 的 admin 账号密码忘记了,需要重置。 参考: https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Nexus-3-x 由于 nexus 是基于 docker 部署,后面我们需要进入容器中执行相关命令,所以此处不能直接使用 docker stop xxx 来关闭服务。需要进入到容器内部

    2024年02月08日
    浏览(32)
  • nexus搭建maven私有仓库

    Nexus 在企业开发中还是比较常用的私有仓库管理工具,一般把公司内部的Maven jar 包或npm包上传到仓库中,有效的对包文件进行管理。 Nexus 至少需要 2G 以上的内存 安装nexus之前首先安装配置好 JDK 环境 和 Maven环境 1、Linux环境安装openJDK 2、Centos7.3安装maven并配置加速镜像源 ne

    2024年02月12日
    浏览(46)
  • nexus3 npm-hosted仓库迁移

    迁移背景: 从nexus 3.33 升级到 nexus 3.64 过程中,私服 npm-hosted 无法上传。由于这个 npm-hosted 和 npm-proxy 放的同一个 blob存储,无法单独拆除去,所以采用迁移的方式 迁移思路: down下来 npm-hosted 仓库,然后 批量上传 技术栈: python shell 正则 down仓库的python文件: 批量上传新仓

    2024年01月21日
    浏览(45)
  • linux 搭建 nexus maven私服

    目录 环境: 下载 访问百度网盘链接 官网下载 部署 :  进入目录,创建文件夹,进入文件夹 将安装包放入nexus文件夹,并解压​编辑 启动 nexus,并查看状态.​编辑 更改 nexus 端口为7020,并重新启动,访问虚拟机7020 更换账号密码,浏览器点击 sign in看到提示密码,在/usr/local/n

    2024年02月12日
    浏览(47)
  • 手把手教你Linux部署Nexus3私服

    对maven来说仓库分为两类:本地仓库和远程仓库,有三种专门的Maven仓库管理软件可以用来帮助我们建立私服:chiva、Artifactory和Nexus。Nexus是当前最流行的Maven仓库管理软件。Nexus包含了各种类型的仓库的概念,包括代理仓库、宿主仓库、仓库组等。每一种仓库都提供了丰富实用

    2024年02月19日
    浏览(60)
  • docker安装Nexus,maven私服

    nexus作为私服的maven仓库,在企业级应用中,提供了依赖来源的稳定性,为构建庞大的微服务体系,打下基础 这里如果不设置,nexus在容器里会创建不了文件锁,导致异常 -e INSTALL4J_ADD_VM_PARAMS=“-Xms512m -Xmx512m” ,留意这条指令,主要用于限制内存的使用 通过GPT可以简单的将

    2024年04月08日
    浏览(40)
  • Docker部署Nexus Maven私服并实现远程访问Nexus界面

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 是一个仓库管理工具,用于管理和组织软件构建过

    2024年01月24日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包