私有倉庫
有時候使用 Docker Hub 這樣的公共倉庫可能不方便,使用者可以建立一個本地倉庫供私人使用。本節介紹如何使用本地倉庫。 docker-registry
是官方提供的工具,可以用於建立私有的映像檔倉庫。
安裝執行 docker-registry
容器執行
在安裝了 Docker 後,可以透過取得官方 registry 映像檔來執行。
這將使用官方的 registry 映像檔來啟動本地的私有倉庫。使用者可以透過指定參數來設定私有倉庫位置,例如設定映像檔儲存到 Amazon S3 服務。
此外,還可以指定本地路徑(如 /home/user/registry-conf
)下的設定檔案。
預設情況下,倉庫會被建立在容器的 /tmp/registry
下。可以透過 -v
參數來將映像檔檔案存放在本地的指定路徑。 例以下面的例子將上傳的映像檔放到 /opt/data/registry
目錄。
本地安裝
對於 Ubuntu 或 CentOS 等發行版,可以直接透過套件庫安裝。
Ubuntu
CentOS
然後修改設定檔案,主要修改 dev 模板段的 storage_path
到本地的儲存倉庫的路徑。
之後啟動 Web 服務。
或者
此時使用連結本地的 5000 連接埠,看到輸出 docker-registry 的版本訊息說明執行成功。
*註:config/config_sample.yml
檔案是範例設定檔案。
在私有倉庫上傳、下載、搜尋映像檔
建立好私有倉庫之後,就可以使用
docker tag
來標記一個映像檔,然後推送它到倉庫,別的機器上就可以下載下來了。例如私有倉庫位址為192.168.7.26:5000
。先在本機查看已有的映像檔。
使用
docker tag
將ba58
這個映像檔標記為192.168.7.26:5000/test
(格式為docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
)。使用
docker push
上傳標記的映像檔。用 curl 查看倉庫中的映像檔。
這裡可以看到
{"description": "", "name": "library/test"}
,表明映像檔已經被成功上傳了。現在可以到另外一臺機器去下載這個映像檔。
Last updated
Was this helpful?