• 【开发日记】Docker搭建Maven私服


    前言

    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可追加文件,建议上传jarpom两个文件。
    在这里插入图片描述

    上传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

    在这里插入图片描述

  • 相关阅读:
    传统直线检测算法与基于深度学习的直线检测算法
    Graph (discrete mathematics)
    vscode类似GitHub Copilot的插件推荐
    查重的标准是什么?
    记一次有意思的 SQL 实现 → 分组后取每组的第一条记录
    springboot项目整理(持续更新)
    中秋征文 | 【云原生之Docker】使用docker部署内网穿透工具FRP
    浅谈C++|STL之vector篇
    《高效便捷,探索快递柜系统架构的智慧之路》
    MAC M1 Pro搭建移动端UI自动化测试环境--Android篇
  • 原文地址:https://blog.csdn.net/Stand_Fast/article/details/133766397