1 Docker 安裝 Nexus3
1.1 創(chuàng)建目錄
在硬盤上創(chuàng)建 Nexus3 的主目錄:
mkdir -p /usr/local/docker/nexus3
為該目錄添加權限:
chmod 777 -R /usr/local/docker/nexus3
1.2 拉取鏡像
搜索鏡像:
docker search nexus3
拉取鏡像:
docker pull sonatype/nexus3
效果:
[root@VM-4-11-centos docker]# docker pull sonatype/nexus3
Using default tag: latest
latest: Pulling from sonatype/nexus3
2562ea2dcfe3: Pull complete
19e869bcc166: Pull complete
7cfb94c39a83: Pull complete
0f253198f08e: Pull complete
65bf33450fb5: Pull complete
49ef4fc4b423: Pull complete
9e0b5c297f55: Pull complete
Digest: sha256:eefa8ac08376b5d2be1078c25f3ef5feb5d70c3b20c59ca5255d33089a43c176
Status: Downloaded newer image for sonatype/nexus3:latest
docker.io/sonatype/nexus3:latest
1.3 運行容器
鏡像拉取完畢后,便可運行容器,這里映射了 nexus-data 目錄到上面創(chuàng)建的目錄和三個端口。三個端口分別是:
8081 - nexus3 服務端口
8082 - host 鏡像倉庫的服務端口
8083 - group 鏡像倉庫的服務端口
創(chuàng)建啟動腳本
vim startNexus.sh
腳本內(nèi)容:
docker run -tid \
--restart=always \
-p 8081:8081 \
-p 8082:8082 \
-p 8083:8083 \
-v /usr/local/docker/nexus3:/nexus-data \
--name nexus3 \
-e NEXUS_CONTEXT=nexus \
sonatype/nexus3
保存
:wq!
給 startNexus3.sh 賦權
chmod -R 700 startNexus.sh
查看容器運行狀態(tài):
docker ps -a | grep nexus3
查看容器的日志:
docker logs -f nexus3
或
docker logs -f 547b
1.4 訪問私服
容器啟動后,在瀏覽器中訪問:
localhost:8081/nexus
效果如下
點擊右上角”Sign in“按鈕。第一次登錄時,登錄彈窗中會顯示密碼位于/nexus-data/admin.password
。由于 /nexus-data 目錄已經(jīng)映射到磁盤的 /Users/yygnb/dockerMe/nexus3 目錄,故可以在該目錄查看到 admin.password 文件。也可以在控制臺中進入容器查看:
進入容器:
docker exec -it nexus3 /bin/bash
查看密碼:
cat /opt/sonatype/sonatype-work/nexus3/admin.password
獲取密碼不要后綴bash-4.4$
在下一步配置匿名訪問時,通常選擇 Enable anonymous access
,這樣只有在上傳包的時候需要 profile,拉取包時可以匿名。
2 Nexus3 基本管理
由于后面要分別講述 JS 和 Java 使用 Nexus3 私服,兩者都涉及到倉庫創(chuàng)建,故單獨把這一塊提出來,后面便不再贅述。
2.1 角色管理
nexus3 支持創(chuàng)建角色和用戶,可以創(chuàng)建一個角色,讓該角色只能發(fā)布包到私服。
1)進入角色管理界面,點擊右上角的“Create Role”創(chuàng)建角色,如下圖:
2)Role Type
選擇:nexus role
;
3)分別填寫角色 ID、名稱、描述,權限選擇:nx-repository-view-*-*-*
4)填寫完畢后保存該角色。
2.2 用戶管理
創(chuàng)建完角色后,需要創(chuàng)建用戶,給該用戶分配 nx-deploy 的角色。
在用戶管理界面,點擊 Create local user
按鈕進入創(chuàng)建用戶界面。在創(chuàng)建用戶界面填寫表單信息,并分配上一步創(chuàng)建的角色 ming 。
id:qmm
password:111111
email:heroyyg@126.com
如下圖:
用戶創(chuàng)建成功后,便可在用戶列表中看到剛創(chuàng)建的用戶。
可以退出登錄,測試使用剛才創(chuàng)建的用戶名和密碼登錄nexus3。
2.3 設置 Realms
如果搭建 npm 私服,發(fā)布 JS 庫時需要通過 npm login 等錄,在發(fā)布的時候需要私服支持 npm bearer token 方式。
進入 Realms 設置界面,將 npm Bearer Token Realm
選到右側。如下圖所示:
2.4 倉庫管理
如下圖進入倉庫管理界面:
在倉庫列表界面可以點擊 Create repository
按鈕創(chuàng)建倉庫,也可以點擊其中某個倉庫修改倉庫信息或刪除倉庫。
2.5 倉庫類型
點擊 Create repository
按鈕后,會進入選擇倉庫類型的界面(Select Recipe)。Nexus3 有三大種類型:hosted、proxy、group。
1)hosted:宿主倉庫,即本地倉庫,該倉庫存放本地項目產(chǎn)生的構建,無論是團隊內(nèi)部開發(fā)了通用組件庫、公共 jar 等,都是發(fā)布到這里面。
2)proxy:代理倉庫,用來代理遠程倉庫,如代理 Maven 中央倉庫等。文章來源:http://www.zghlxwxcb.cn/news/detail-716564.html
3)group:倉庫組,可以聚合上面兩者。因為在開發(fā)過程中,某些包是遠端的、某些包是內(nèi)部私服中的,這樣就對應了兩個地址,使用倉庫組將 hosted 和 group 聚合,暴露為一個地址。文章來源地址http://www.zghlxwxcb.cn/news/detail-716564.html
到了這里,關于Docker 安裝 Nexus3及使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!