1. 程式人生 > >使用 Nexus Repository Manager 搭建私有docker倉庫

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

地址 reat 倉庫 dmi log sys systemctl 圖例 temp

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

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

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

創建並配置倉庫:

技術分享圖片

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

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

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

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

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

{

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

}

重啟docker進程: systemctl restart docker

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

技術分享圖片

登錄私庫

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

  docker login http://192.168.12.186: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)

技術分享圖片

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

技術分享圖片

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