1. 程式人生 > 實用技巧 >樹莓派4B使用docker安裝nexus3

樹莓派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​​
推薦:站長新聞