樹莓派4B使用docker安裝nexus3

說明

Nexus Repository OSS是一款通用的軟件包倉庫管理(Universal Repository Manager)服務,通常部署在企業局域網內,作爲私服使用。一方面它可以作爲代理,緩存中央倉庫的公共組件,從而降低網絡延遲、解決重複下載問題;另一方面開發人員可以構建自己的項目組件至服務器,方便其他同事下載進行協同開發,極大提高開發效率。

nexus2.x版本只能作爲maven遠程倉庫提供java開發人員使用,從nexus3開始,nexus可以支持除java外更多的倉庫類型,如docker、yum、npm和helm等

運行nexus3需要一臺服務器,cpu4核最好,2核可用,內存1g起步。

硬件:Raspberry Pi 4B(4g或8g版本)
系統:Ubuntu 20.04 LTS
Docker:18.09.9
nexus3鏡像:pi4k8s/nexus3:3.22.1-02

  • 注意:因爲我們樹莓派4B本身並非x86,而是arm架構,且我們的系統裝的是64位ubuntu,因此鏡像只能選擇arm64v8架構的鏡像。  這裏選用的鏡像是本人基於exus-3.22.1-02構建的,可以直接使用。構建腳本如下: https://github.com/pi4k8s/pi4images/blob/master/nexus3/Dockerfile

安裝nexus3

數據目錄:/home/docker/server/nexus3/data

本實踐安裝的nexus3會提供3種類型倉庫服務,分別爲maven私服、docker私服和helm倉庫。對外開放3個端口,8081爲web端口、8082爲docker push端口,8083作爲docker pull端口。

docker run -itd --name=nexus3 -p 8081:8081 -p 8082:8082 -p 8083:8083 --privileged=true -v /home/docker/server/nexus3/data:/opt/sonatype-work pi4k8s/nexus3:3.22.1-02

鏡像提供3個環境變量,JVM_MINIMUM_MEMORY、JVM_MAXIMUM_MEMORY和JVM_MAXDIRECTMEMORYSIZE,默認值分別爲1024M、1560M和1024M,實踐中使用默認參數,用戶可自行選擇。

初始化

初始化主要是指admin登錄、修改默認密碼和是否允許匿名訪問,下面簡單示意說明

用瀏覽器訪問http://ip:8081進行初始化

點sign in 彈出登錄窗口如下

根據提示輸入用戶名和密碼,點sign in按鈕,開啓Setup

修改密碼

這裏我們設置爲允許匿名訪問

 

設置倉庫

如下圖逐步點擊齒輪圖標和Repository菜單下的Repositories菜單,進入倉庫列表頁面,可以看到nexus3默認是支持maven和nuget倉庫,接下來我們通過Create repository按鈕來創建docker倉庫和helm倉庫。

 

設置docker倉庫

本實踐一共設置三個docker倉庫,一個爲docker(proxy)類型,一個爲docker(hosted)類型,另外一個爲docker(group)類型。其中docker(hosted)類型倉庫端口配置爲8082,可以接受push請求;docker(group)類型倉庫端口配置爲8083,可以通過該倉庫同時拉取nexus3配置的docker(proxy)倉庫和docker(hosted)倉庫。這3個docker倉庫具體設置過程如下:

設置docker(proxy)倉庫

選擇docker(proxy)類型,進入倉庫設置界面如下

如上,只需要配置標紅的4個部分即可,其餘均可採取默認值。

設置docker(hosted)倉庫

選擇docker(hosted)類型,進入倉庫設置界面如下

如上,只需要配置標紅的4個部分即可,其餘均可採取默認值。

設置docker(group)倉庫

選擇docker(group)類型,進入倉庫設置界面如下

如上,只需要配置標紅的5個部分即可,其餘均可採取默認值;記得Member repositories將剛纔新建的兩個docker倉庫加入。

設置helm倉庫

本實踐中只涉及設置helm(hosted)類型倉庫,具體設置過程如下:

如上,只需要配置標紅的2個部分即可,其餘均可採取默認值。

到這裏,一個基於nexus3搭建的私服就部署好了。

具體倉庫訪問地址如下:

  • maven倉庫訪問地址:http://192.168.5.50:8081/repository/maven-public/
  • docker倉庫訪問地址:
    • docker puh 192.168.5.50:8082
    • docker pull 192.168.5.50:8083
  • helm倉庫訪問地址:
    • http://192.168.5.50:8081/repository/fastapp
  • 其它運維命令

#啓停命令docker start nexus3docker stop nexus3docker restart nexus3#刪除docker rm nexus3#查看日誌docker logs nexus3#進入容器docker exec -i -t nexus3 /bin/sh​​

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章