码农知识堂 - 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

    在这里插入图片描述

  • 相关阅读:
    RFM模型
    计算机跨考现状,两极分化现象很严重
    Vue 框架基础 -router导航守卫
    看了这些世界顶级的数据可视化作品,你还会满足于折线图、饼图吗
    Ribbon架构篇 - ZoneAvoidanceRule
    Redis缓存更新策略、详解并发条件下数据库与缓存的一致性问题以及消息队列解决方案
    服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案
    壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备
    Flutter Fair逻辑动态化架构设计与实现
    Linux常见进程类别
  • 原文地址:https://blog.csdn.net/Stand_Fast/article/details/133766397
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号