1. 程式人生 > >Docker搭建本地倉庫registry

Docker搭建本地倉庫registry

我們上傳到 Docker Hub 的映象任何人都能夠訪問,雖然可以用私有 repository,但不是免費的。
所以我們就搭建本地Registry,來管理我們自己的倉庫。

Docker 已經將 Registry 開源了,我們可以直接docker pull,

Docker Hub 上也有官方的映象 Registry,我們可以註冊一個賬號,docker login 登陸,然後下載映象。

一,部署Registry

執行命令 docker pull registry

 

二,執行容器

-d 是後臺啟動容器。

-p 將容器的 5000 埠對映到 Host 的 5000 埠。5000 是 registry 服務埠。

-v

 將容器 /var/lib/registry 目錄對映到 Host 的 /myregistry,用於存放映象資料。

上傳到本地的映象儲存在/myregistry/docker/registry/v2/repositories/ 下面

檢視正在執行的容器

開啟瀏覽器,訪問http://127.0.0.01:5000/v2/_catalog,可以檢視到{"repositories": []} 表示現在倉庫中,沒有映象images

三、在本地host上,重新命名映象,新增新的tag,使之與registry 相匹配

以busybox映象為例,上傳到本地倉庫中,或者從Docker Hub 下載也可以、

映象名稱由 repository 和 tag 兩部分組成,預設為latest。可以在docker build 時用格式image:tag指定,

而 repository 的完整格式為:[registry-host]:[port]/[username]/xxx

四、上傳映象到倉庫中

成功會出現上述提示,表示本地的倉庫預設使用的是https進行上傳,那行是latest是重新上傳出現的。

如果你在push映象的時候出現問題,可能是因為我們啟動的registry服務不是安全可信賴的.這個時候我們需要修改docker的配置檔案/etc/default/docker,新增下面的內容:   "- - insecure-registry 127.0.0.1:5000", 再重啟docker 服務

 

五、刪除下載的映象,從本地映象下載。

docker rmi 127.0.0.1:5000/busybox-test  刪除映象

docker pull  從本地映象下載。

docker images 檢視下載成功

最後在宿主機瀏覽器中訪問127.0.0.1:5000/v2/_catalog,出現上傳的映象。

在此路徑下,可以檢視上傳到本地的映象。