建立自己的 Docker Registry
Docker Hub 是 Docker 官方維護的公共倉庫。但是如果映像檔 (image) 不便公開,可能就不適合使用公共倉庫,這時候我們就需要 Docker Registry 來建立自己的私有倉庫。
Install Docker Registry
登入欲建立 Docker Registry 的遠端 Server,從 Docker Hub 拉取 Docker Registry 映像檔並啟動:
1 |
|
這樣我們就已經在遠端 Server 上安裝好 Docker Registry 。
Install Docker Registry Frontend (Optional)
目前已有許多第三方為 Docker Registry 實現的 Web UI 介面,方便瀏覽在 registry 上的 images 。綜合目前在 Docker Hub 與 GitHub 上的 stars 數量,比較多人使用的是這套 Docker Registry Frontend ,以 AngularJS 開發的 UI 介面。其安裝方式也相當簡單:
1 |
|
完成啟動後,您可以打開瀏覽器進入 http://localhost:8080
查看 registry 狀態。
Setup for Insecure Registry
以下 IP xxx.xxx.xxx.xxx
表示我們遠端伺服器安裝 Docker Registry 的所在位址。
因為我們遠端的 Docker Registry 並沒有安裝 certificate,因此必須在本地 /etc/default/docker
加入:
1 |
|
然後重啟 Docker 服務:
1 |
|
如果您使用 Docker for Mac ,打開應用程式找到 Preferences:
在 Insecure registries
列表加入 registry 位址,然後按下 Apply & Restart
等待 Docker 重啟完畢就可以了。
Test Your Docker Registry
為了測試我們建立的 Docker Registry ,我們需要從 Docker Hub 上 pull 一個 image 或自行建立 image 來做測試。此處範例我們在本地端從 Docker Hub 下載一個 ubuntu
映像檔:
1 |
|
將下載後的映像檔 tag 指向我們所建立的 registry :
1 |
|
上傳 image 至 自建 registry :
1 |
|
從自建 registry 下載 image :
1 |
|
Docker Registry 也提供 HTTP API,例如查看 registry 上的 repositories :
1 |
|
確認某個 image 的 tag :
1 |
|
更多關於 Docker Registry 的其他用法可參閱官方文件 。
本部落格所有文章除特別聲明外,均採用 CC BY-SA 4.0 協議 ,轉載請註明出處!