Docker環(huán)境搭建 - Docker安裝Maven私服Nexus3

環(huán)境

在 Centos7 的虛擬機上進行安裝,虛擬機 IP 為 192.168.247.129

安裝

拉取鏡像

docker pull sonatype/nexus3 

查看鏡像

docker images

運行容器

docker run -d --name nexus3 -p 8081:8081 -v /nexus-data:/nexus-data sonatype/nexus3

訪問 Nexus3 首頁 http://192.168.247.129:8081,使用 admin / admin123 進行登錄

Nexus 的倉庫分為這么幾類:

  • hosted 宿主倉庫:主要用于部署無法從公共倉庫獲取的構(gòu)件(如 oracle 的 JDBC 驅(qū)動)以及自己或第三方的項目構(gòu)件;
  • proxy 代理倉庫:代理公共的遠程倉庫;
  • virtual 虛擬倉庫:用于適配 Maven 1;
  • group 倉庫組:Nexus 通過倉庫組的概念統(tǒng)一管理多個倉庫,這樣我們在項目中直接請求倉庫組即可請求到倉庫組管理的多個倉庫。

配置 Maven 使用 Nexus 私服

對 Maven 配置文件 settings.xml 進行配置

配置私服鏡像

<mirrors>
    <mirror>
        <id>central</id>
        <mirrorOf>*</mirrorOf> <!-- * 表示讓所有倉庫使用該鏡像-->
        <name>central-mirror</name>
        <url>http://192.168.247.129:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

mirrorOf 表示代理的鏡像," * " 表示將 Nexus 配置成所有倉庫的鏡像,central 表示將 Nexus 配置成中央倉庫的鏡像

配置阿里云倉庫代理中央倉庫,Nexus 代理其它倉庫

<mirror>
    <id>nexus-aliyun</id>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.247.129:8081/repository/maven-public/</url>
</mirror>

配置 Nexus 作為快照倉庫

<profiles>
    <profile>
        <id>nexus-resp</id>
        <repositories>
            <repository>
                <id>nexus-releases</id>
                <url>http://192.168.247.129:8081/repository/maven-releases/</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>false</enabled></snapshots>
            </repository>
            <repository>
                <id>nexus-snapshots</id>
                <url>http://192.168.247.129:8081/repository/maven-snapshots/</url>
                <releases><enabled>false</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
            </repository>
        </repositories>
    
        <pluginRepositories>
            <pluginRepository>
                <id>nexus-plugin</id>
                <url>http://192.168.247.129:8081/repository/maven-public/</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>false</enabled></snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>nexus-resp</activeProfile>
</activeProfiles>

配置完成,本地 Maven 項目就可以從 Nexus 私服拉取項目依賴。

將本地項目打包至私服

配置上傳帳戶密碼(配置在Maven的配置文件 settings.xml 中)

<server>
    <id>nexus-releases</id>
    <username>admin</username>
    <password>admin123</password>
</server>
<server>
    <id>nexus-snapshots</id>
    <username>admin</username>
    <password>admin123</password>
</server>

配置部署發(fā)布版及快照版(配置在項目的 pom 文件中)

<distributionManagement>
    <repository>
        <id>nexus-release</id>
        <url>http://localhost:8081/repository/maven-public/</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

配置完成,本地項目執(zhí)行 deploy 時,就會上傳至 Nexus 私服。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • --畫作《猶大之吻》欣賞 作者:〔意大利〕 喬托 (Giotto di Bondone)收藏:帕多瓦的斯克羅威尼禮...
    努力找自己的魏天天閱讀 579評論 0 0
  • 二月的尾巴陽光依舊很耀眼 天氣依舊忽冷忽熱變幻不定 前一天還高高挽起來的頭發(fā) 第二天就要全部塞進圍巾里 我也知道你...
    望天的蟈蟈閱讀 165評論 0 0
  • 就跟質(zhì)疑婚姻存在的合理性一樣,鄙人偶爾會提出一些看似瘋狂的質(zhì)疑。 請問,性工作為什么遭到社會、法律、道德的歧視,她...
    心靈診室閱讀 310評論 0 0
  • 圖文/幸福 對明代心學(xué)的探究,到李贄這時,我不知道為什么,有學(xué)術(shù)領(lǐng)域中的空白。哲學(xué)不是我主修的課程,文史只要求學(xué)生...
    有點個性閱讀 634評論 0 0

友情鏈接更多精彩內(nèi)容