码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【开发日记】Docker搭建Maven私服


    文章目录

      • 前言
      • 1、拉取镜像
      • 2、创建本地目录
      • 3、启动容器
      • 4、访问
      • 5、上传依赖
      • 6、项目配置私服

    前言

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

    在公司的局域网内,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服下载所依赖的jar。私服还充当一个代理服务器的角色,当私服上没有jar包时会从Maven中央仓库自动下载。

    1、拉取镜像

    docker pull docker.io/sonatype/nexus3
    
    • 1

    2、创建本地目录

    根据自己需求来创建本地目录,后续需要将此目录挂载到nexus镜像中。

    sudo mkdir -p /volume1/docker/nexus3/nexus-data
    
    • 1

    修改权限,如果不给权限的话会导致nexus启动失败,所以请务必给足权限。

    sudo chmod 777 /volume1/docker/nexus3/nexus-data
    
    • 1

    3、启动容器

    docker run -p 8081:8081 --name nexus -v /volume1/docker/nexus3/nexus-data:/nexus-data  docker.io/sonatype/nexus3
    
    • 1

    命令解释:

    -p:表示映射端口,如果想要修改映射到宿主机上的端口,可修改前面的8081。

    --name:表示指定容器的名称。

    -v:表示挂载宿主机目录到容器目录。

    4、访问

    运行容器后需要等待很久的,我使用的是NAS搭建,可能是配置太低导致,等待容器完全启动后访问IP地址:端口/nexus可进入nexus界面。

    点击下图中的Sign in会弹出登录窗口,账号为admin,密码需要前往刚刚创建的挂载目录/nexus-data/admin.password文件中查看,根据自己的挂载目录查看。

    登录成功后会提示修改密码,修改密码后该路径的文件会自动删除。

    在这里插入图片描述

    5、上传依赖

    nexus启动成功后会存在几个默认的仓库,一般来说这些就够用了,所以这里就不展示创建新的仓库了。

    如果不进行登录,界面中不会有上传入口按钮,需要先进行登录管理员账号admin进行后续操作。

    这里展示上传依赖到默认仓库。

    在这里插入图片描述

    点击Browse选择依赖文件,点击Add another asset可追加文件,建议上传jar和pom两个文件。
    在这里插入图片描述

    上传pom文件的两个原因:

    ① 不上传pom文件会导致依赖关联的其他依赖无法自动导入,比如你项目中只添加了A依赖,而A依赖又添加了B依赖,如果不上传pom文件系统则不会加载B依赖。

    ② 不上传pom文件的话需要手动输入GroupID、ArtifactID、Version内容。

    6、项目配置私服

    在项目``pom.xml`中添加如下配置:

    <repositories>
        <repository>
            <id>nexusid>
            <name>Nexus Repositoryname>
            <url>http://IP地址:端口/nexus/repository/maven-releases/url>
        repository>
    repositories>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

  • 相关阅读:
    国内的软件测试真的这么不受待见吗?
    基于BP神经网络的含水率预测模型matlab仿真
    读书笔记:彼得·德鲁克《认识管理》第7章 战略、目标、优先事项、工作安排
    安装torchtext遇到的坑及解决办法
    自定义命名并将文件扩展名改为大写字母,轻松掌握文件管理!
    互联网上有哪些适合上班族的副业?
    穷举&&深搜&&暴搜&&回溯&&剪枝(4)
    【C语言课程设计】医院管理系统
    图扑软件受邀亮相 IOTE 2023 国际物联网展
    一幅长文细学node.js——一幅长文系列
  • 原文地址:https://blog.csdn.net/Stand_Fast/article/details/133766397
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号