使用 Nexus Repository Manager 搭建私有docker倉庫


使用容器安裝Nexus3

1.下載nexus3的鏡像:

docker pull sonatype/nexus3

2.使用鏡像啟動一個容器:

docker run -d --name nexus  --restart=always -p 5000:5000 -p 8081:8081 sonatype/nexus3

注:5000端口是用於鏡像倉庫的服務端口   8081 端口是nexus的服務端口

3.啟動之后我們就可以通過http://服務器IP:8081訪問。

默認賬號密碼為admin/admin123

 

創建Docker私有倉庫

通過瀏覽器訪問Nexus: 
http://服務器IP:8081

點擊右上角進行登錄,通過初始用戶名和密碼進行登錄(admin/admin123):

 

點擊設置界面,選擇Repositories,點擊Create repository,如下圖所示: 

 

選擇倉庫類型,這里Docker有三種類型,分別是group、hosted、proxy。這里只演示hosted類型,所以選擇docker(hosted),如下圖: 

注:Docker鏡像倉庫類型含義解釋如下:
  hosted : 本地存儲,即同docker官方倉庫一樣提供本地私服功能

  proxy : 提供代理其他倉庫的類型,如docker中央倉庫

  group : 組類型,實質作用是組合多個倉庫為一個地址

指定docker倉庫的名稱、指定一個端口用來通過http的方式進行訪問倉庫、勾選是否支持docker API V1,然后create repository

因為我們測試的時候不是使用加密的HTTPS進行訪問,所以這里需要增加一個docker的啟動參數,給他指定私庫的地址,如下:

編輯/etc/docker/daemon.json 增加如下內容,當然也可通過啟動參數增加

{

   "insecure-registries":["http://172.17.9.81:5000"]

}

重啟docker進程: systemctl restart docker

查看docker信息: docker info ,有如下輸出即正常

 

登錄私庫

要使用私庫進行上傳下載需要進行登錄連接到Nexus

  docker login http://172.17.9.81:5000/repository/docker-assoft/

Docker上傳鏡像到私庫

使用docker tag 對鏡像進行管理(必須進行此項操作)

  docker tag使用格式:

    docker tag SOURCE_IMAGE[:TAG]  TARGET_IMAGE[:TAG]

  docker tag portainer-temlates-new:latest 172.17.9.81:5000/portainer-templates:v1

  docker push 172.17.9.81:5000/portainer-templates:v1

圖例:使用tag進行打標,正常上傳的結果

 

圖例:不進行tag打標,會出現denied: requested access to the resource is denied報錯

 

 

上傳完成后,在nexus中對應的docker庫中,即可看到此鏡像

 

 

下載私庫中的鏡像

1、刪除本地上例實驗中的鏡像(docker rmi 172.17.9.81:5000/portainer-templates:v1)

 

2docker pull 172.17.9.81:5000/portainer-templates:v1

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM