樹莓派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 nexus3
docker stop nexus3
docker restart nexus3
#刪除
docker rm nexus3
#檢視日誌
docker logs nexus3
#進入容器
docker exec -i -t nexus3 /bin/sh
推薦:站長新聞