天天看點

Docker系列教程11-使用Nexus管理Docker鏡像

原文:<Docker系列教程11-使用Nexus管理Docker鏡像>

Nexus簡介

Nexus是一個多功能的倉庫管理器,是企業常用的私有倉庫伺服器軟體。目前常被用來作為Maven私服、Docker私服。本文基于

Nexus 3.5.2-01

版本進行講解。

Nexus下載下傳

前往:

https://www.sonatype.com/download-oss-sonatype

,根據作業系統,下載下傳對應作業系統下的安裝包即可。

安裝

Nexus在不同系統中安裝略有差別,但總體一緻。下面以在Linux系統中的安裝為例說明:

  • 建立一個Linux使用者,例如:nexus
    useradd nexus
               
  • 解壓Nexus安裝包,為将解壓後的檔案設定權限,并修改屬主為nexus使用者
    chmod -R 755 *
    chown -R nexus:nexus *
               
  • 将目錄切換到

    $NEXUS_HOME/nexus-3.5.2-01/bin

    目錄
  • 需改

    nexus.rc

    檔案,将其内容改為:
    run_as_user="nexus"
               
    表示使用nexus使用者啟動Nexus。
  • 如提示檔案限制,可參考博文: http://www.cnblogs.com/zengkefu/p/5649407.html 進行修改。
  • 執行如下指令,檢視Nexus為我們提供哪些指令。
    ./nexus --help
               
    可顯示類似如下的内容:
    Usage: ./nexus {start|stop|run|run-redirect|status|restart|force-reload}
               
  • 指定如下指令,即可啟動Nexus
    ./nexus start
               
    稍等片刻,Nexus即可成功啟動。

賬戶

Nexus提供了預設的管理者賬戶,賬号密碼分别是admin/admin123。使用者可自行修改該預設賬号密碼。

建立Docker倉庫

  • 通路 http://localhost:8081 并登入
  • 點選“Create repository”按鈕,建立倉庫。Nexus支援多種倉庫類型,例如:maven、npm、docker等。本文建立一個docker倉庫。一般來說,對于特定的倉庫類型(例如docker),細分了三類,分别是proxy、hosted、group,含義如下:
    • hosted,本地代理倉庫,通常我們會部署自己的構件到這一類型的倉庫,可以push和pull。
    • proxy,代理的遠端倉庫,它們被用來代理遠端的公共倉庫,如maven中央倉庫,隻能pull。
    • group,倉庫組,用來合并多個hosted/proxy倉庫,通常我們配置maven依賴倉庫組,隻能pull。
  • 本文建立一個hosted類型的倉庫
  • 配置倉庫,如圖,填入如下結果:

    image.png

  • 這樣,倉庫就建立完畢了。

Docker配置

下面,我們需要為Docker指定使用Nexus倉庫。

  • 修改

    /etc/docker/daemon.json

    ,在其中添加類似如下的内容。
    {
      "insecure-registries" : [
        "192.168.1.101:8082"
      ]
      ...
    }
               
  • 重新開機Docker

登入私有倉庫

docker login 192.168.1.101:8082
           

即可登入私有倉庫。然後,我們就可進行pull、push操作了。

容器啟動Nexus

位址:

https://store.docker.com/community/images/sonatype/nexus3
docker run -d -p 8081:8081  --name nexus sonatype/nexus3
           

為啟動的容器映射端口:

http://blog.csdn.net/github_29237033/article/details/46632647