日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nexus3 安装 及 配置 docker 私有、代理 仓库

發布時間:2024/8/1 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nexus3 安装 及 配置 docker 私有、代理 仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Nexus3 私庫管理器

Nexus全稱Sonatype Nexus,是一種特殊的遠程倉庫,它是架在局域網內的倉庫服務。可以用于局域網中的 docker、maven、npm、yum 等私服代理,并且支持私有倉庫。

下面通過實驗來認識下 Nexus3 私庫管理器,以及配置 docker 私有、代理 倉庫。

二、Nexus3 安裝

本文通過 docker-compose 的方式快速搭建 Nexus3 環境,所以在實驗前請確保已經安裝好了 docker 和 docker-compose 環境。

  • 創建數據掛載目錄并修改權限:
mkidr -p /opt/nexus/data && chmod 777 /opt/nexus/data
  • 創建 docker-compose.yml 文件,寫入以下內容:
version: '2.0' services:nexus:restart: alwaysimage: sonatype/nexus3:3.37.3container_name: nexus3volumes:- /opt/nexus/data:/nexus-dataports:- "8081:8081"- "6000:6000"- "6001:6001"environment:- "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"- TZ=Asia/Shanghai

其中 8081 為 Nexus3 web頁面的端口,6000 和 6001 分別為 docker 代理和私服的端口,這個是后面配置中指定的,這里可以預先開放端口。由于Nexus3 依賴于JDK,因此環境變量中指定了JVM的一些參數,可以根據自己服務器的實際情況修改。

  • 啟動服務
docker-compose up -d

服務啟動較慢,需要等待一會,可以查看 log ,看是否成功啟動:

docker-compose logs

出現以下日志,則證明啟動成功!

  • 瀏覽器訪問 http://ip:8081:

  • 點擊右上角 Sign in 開始登錄,用戶為 admin ,密碼在 /nexus-data/admin.password 中:
docker exec -it nexus3 cat /nexus-data/admin.password && echo

  • 登錄成功后 點擊 next ,需要修改密碼,修改個自己的密碼:

  • 下面彈出的是否啟用匿名訪問,我這里選是:

  • 最后點擊 Finish 環境就搭建完成了,下面開始配置 docker 私有、代理倉庫吧。

三、配置 docker 私有、代理 倉庫

在 Nexus3 中對于docker 的支持又 hosted(自托管私有倉庫)、proxy(代理)、group(聚合)三種模式,其中 group 模式可以將多個模式集中成一個地址訪問,比如使用 hosted 模式搭建私有的 docker 倉庫,一些項目中的鏡像都上傳到這個地方。使用 proxy 模式代理遠程的倉庫比如 dockerHub ,可以在局域網中下載外網的鏡像。此時就可以通過 group 默認將hosted模式和proxy模式聚合成一個地址訪問,這樣在下載鏡像的時候如果是私服的鏡像直接在私服拉取了,如果沒有再通過代理拉取遠程的鏡像。

下面開始搭建上面的模式:

1. 首先我們先創建三個 Blob Stores ,分別存放三種模式產生的文件:

首先點擊上方的設置圖標,選擇 Blob Stores,然后點擊 右邊的 Create Blob Stores

  • 創建 docker-hosted

  • 創建 docker-proxy

  • 創建 docker-group

  • 創建完成后在列表中可以看到

2. 下面開始創建 hosted 模式私服倉庫

點擊當前頁的 Repositories ,然后點擊 左上角的 Create repositories:

選中 docker(hosted) 模式:


指定基本信息及配置:


其中開放協議使用的 HTTP,端口就是上面安裝時候釋放的 6001 ,下面 Blob store 選擇上面創建的:


最后點擊最下面的 Create repositories完成創建。

2. 接著創建 proxy 模式代理倉庫

選中 docker(proxy),代理模式可以不用開放協議端口,因為后面拉取鏡像統一使用 group 模式進行拉取:

同樣填寫信息:

下面需要填寫一個代理地址,可以指定為:https://registry-1.docker.io,下面 Docker Index 可以使用 Docker Hub 的:

下面 Blob store 同樣使用上面創建的:


最后點擊最下面的 Create repositories完成創建。

3. 接著創建 group 模式代理倉庫

選中 docker(group):

同樣填寫信息,注意端口需要使用 6000 了:

下面 Blob store 同樣使用上面創建的,注意下面的 group 需要選中上面創建好的兩種模式:


最后點擊最下面的 Create repositories完成創建。

到這就已經創建好三種模式了,可以在列表中看到創建的倉庫:

下面就可以在 docker 客戶端指定倉庫為上面創建的倉庫了,下面繼續測試一下。

四、docker 客戶端測試

修改 /etc/docker/daemon.json 文件,在 insecure-registries 中,增加私有配置:

{"registry-mirrors": ["https://你的阿里云id.mirror.aliyuncs.com"],"insecure-registries": ["192.168.40.171:6000","192.168.40.171:6001"] }

重啟 docker:

systemctl restart docker

登錄 私服倉庫:

docker login -u admin -p nexus 192.168.40.171:6000docker login -u admin -p nexus 192.168.40.171:6001

此時如果報 failed with status: 401 Unauthorized 異常:


這個是沒有使用 SSL證書和域名,需要修改下 Realms 中的配置:


下面再進行登錄就可以了:

拉取鏡像

docker pull 192.168.40.171:6000/nginx


可以看到已經拉取到鏡像,可以在 nexus3 的 web 頁面看到該鏡像:

上傳鏡像

首先標記鏡像并更換個名稱方便看到效果

docker tag 192.168.40.171:6000/nginx:latest 192.168.40.171:6001/test/nginxbxc:latest

推送鏡像

docker push 192.168.40.171:6001/test/nginxbxc:latest

查看 web 頁面:

總結

以上是生活随笔為你收集整理的Nexus3 安装 及 配置 docker 私有、代理 仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。