Docker - 第十章 | 安裝Nexus3
當公司專案一多一複雜,常常會有很多自己公司內部開發的lib或是專案與專案之間溝通的interface,如果每次使用時都需要將整個專案pull下來,其實是非常不符合效益的,所以我們希望可以透過一個私有庫,可以使用maven、gradle來做專案的建置,降低去專案建置的成本。當然還有一個情況是,開發的環境下無法對外做連線,只能在內部網路內架設並將第三方的lib放上,供大家內部使用。
搜尋 Image
1 | docker search nexus3 |
拉取 Image
1 | docker pull sonatype/nexus3 |
查看 Image
1 | docker images |
執行 Image (持久化資料兩種方式)
使用volume
由於docker卷是持久性的,因此可以專門為此目的建立volume。
1 | docker volume create --name nexus-data |
- -d :後台執行 Container ,並返回ID
- -p 8081:8081 :將 Container 的 8081 Port 映射到主機的 8081 Port (前面代表主機,後面代表容器)
- -name nexus :將 Container 取名為 nexus
- -restart always :如果 container 遇到例外的情況被 stop 掉,例如是重新開機,docker 會試著重新啟動此 container
- -v nexus-data:/nexus-data :使用剛建立的volume,nexus-data 掛載到 Container 的 /nexus-data。
- sonatype/nexus3 :指定安裝的鏡像sonatype/nexus3
掛載主機目錄
這不可移植,因為它依賴於主機上具有正確權限的目錄。但是,在需要將此卷分配給某些特定底層存儲的某些情況下,它可能很有用。
1 | cd /Users/morose/Documents/Temp/Docker/Nexus3 |
- -d :後台執行 Container ,並返回ID
- -p 8081:8081 :將 Container 的 8081 Port 映射到主機的 8081 Port (前面代表主機,後面代表容器)
- -name nexus :將 Container 取名為 nexus
- -restart always :如果 container 遇到例外的情況被 stop 掉,例如是重新開機,docker 會試著重新啟動此 container
- -v $PWD/nexus-data:/nexus-data :將主機當前目錄下的 /nexus-data 掛載到 Container 的 /nexus-data。
- sonatype/nexus3 :指定安裝的鏡像sonatype/nexus3
登入Sonatype Nexus Repository Manager
使用預設帳號密碼登入,admin/admin123
恭喜你已經安裝完成Nexus Server,至於如何去使用可以參考這篇Nexus3.x安裝及使用(Docker方式一鍵安裝) ,我初步看了覺得他介紹的滿詳細的。
註:以上參考了
sonatype/nexus3
使用docker(Nexus-3.3-OOS)自建Maven私服
Nexus3.x安裝及使用(Docker方式一鍵安裝)
Easypack容器系列之 Nexus 3 Docker私庫
干货:Docker 1分钟搭建Maven仓库Nexus3
nexus3 配置docker代理仓库
微服务–使用Nexus Repository Manager 3.0搭建私有Docker仓库