019.nexus搭建docker鏡像倉庫/maven倉庫


一、安裝docker CE

  參考docker doc

  https://docs.docker.com/install/linux/docker-ce/centos/

 

二、docker啟動nexus3

# 1.登錄docker hub docker login # 2.拉取nexus3鏡像 docker pull sonatype/nexus3 # 3.查看鏡像 docker images # 4.啟動nexus3 docker run -id --name=nexus3 \ --privileged=true \ --restart=always \ -p 8081:8081 \ -p 10000:10000 \ -p 10010:10010 \ -p 10020:10020 \ -v /opt/nexus3/nexus-data:/var/nexus-data \ 836c51250912 # 將容器的10000 10010 10020端口映射到host機, 這些端口作為后續nexus3創建的docker鏡像倉庫支持docker訪問的端口 # 5.查看nexus3日志 docker logs -f nexus3

 

三、啟動nexus失敗的問題

   如果服務器內存太小導致nexus無法啟動,可以啟用swap

   https://www.cnblogs.com/wuxie1989/p/5888595.html

   https://www.cnblogs.com/kerrycode/p/5246383.html

   https://www.cnblogs.com/bingyeh/p/5913486.html

 

  

Part one: nexus搭建docker鏡像倉庫

一、nexus3創建docker鏡像倉庫及用戶、角色

  • 使用默認管理賬號密碼登錄nexus3管理界面

  https://www.jianshu.com/p/77af52a75ad8 

  https://segmentfault.com/a/1190000015629878

 

  登錄地址: http://服務器ip:8081

 

  • 三種類型的docker鏡像倉庫

  hosted、proxy、group

  

  設置可以被docker-cli直接訪問的端口(啟動nexus容器的時候需要將這些端口暴露到host機); 

  

 

 

  • 設置角色、創建用戶

   創建角色、設置角色的權限;

  

 

  角色可以繼承

  

 

  

 

  創建用戶,為用戶分配角色;

  

 

 

二、通過docker-cli使用鏡像倉庫

  • 設置docker-daemon的 insecure-registries

 

# 1.查看docker-daemon配置文件 systemctl status docker.service # 2.修改配置文件 vi /usr/lib/systemd/system/docker.service # ExecStart=/usr/bin/dockerd --insecure-registry 47.116.91.161:10000 --insecure-registry 47.116.91.161:10010 --insecure-registry 47.116.91.161:10020   -H fd:// --containerd=/run/containerd/containerd.sock


# 3.重啟docker-daemon systemctl daemon-reload # 4.重啟docker systemctl restart docker

 

  •  登錄到nexus3搭建的docker鏡像倉庫

  docker login xxx:xxx:xxx:xxx:10010

 

 

 

Part Two: nexus搭建maven倉庫

https://www.cnblogs.com/dreamroute/p/5440419.html

https://blog.csdn.net/ZZY1078689276/article/details/78953011

一、配置mavensettings.xml

安裝完成的nexus已經創建了4個maven倉庫

 

 ## 私服的id需要與nexus倉庫id保持一致 <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>

 

 

二、修改項目pom.xml

## repository的id與ssettings.xml server id 一致 <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus-Release-Repository</name>
            <url>http://xx.xxx.xx.xxx:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

 

三、maven build... > goals: deploy

 jar包即可安裝到本地倉庫即上傳到私服

 

四、SNAPSHOT版本

  • release正式倉庫則是用來保存穩定的發行版本。

    編譯打包時如果發現本地已經存在該版本的模塊,則不會再去私服下載。

  • snapshot快照倉庫用於保存開發過程中的不穩定版本,

    定義一個組件/模塊為快照版本,只需要在pom文件中在該模塊的版本號后加上-SNAPSHOT即可(注意這里必須是大寫);

    mvn deploy時會自動發布到快照版本庫中;

    其他工程使用該快照版本的模塊如1.0-SNAPSHOT,即使本地倉庫存在該快照版本模塊1.0-SNAPSHOT,maven仍會自動從私服下載最新的快照版本。

    實際上發布到快照倉庫后,Version為1.0-發布時間。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM