docker-registry使用筆記

在國內docker-hub是肯定用不了的,不解釋:sweat:。

所以最好還是建一個私有的docker-registry,存儲一些常用的images方便隨時pull。

相關鏈接

github:https://github.com/dotcloud/docker-registry

api:http://docs.docker.com/reference/api/registry_api/

安裝docker-registry

官方直接給出了一個創建container的命令,在裝有docker的機器上運行docker run -d -p 5000:5000 registry
這個貌似要下載很多東西,大概500M左右,免去了手工安裝的過程,很方便。

安裝安成之後直接訪問 http://ip:5000 就可以看到

“docker-registry server (dev) (v0.7.3)”

說明安裝成功了,更多安裝細節,或者配置請參考https://github.com/dotcloud/docker-registry

push到私有docker-registry

首先解釋一下docker中鏡像的命名規則,如:registry.domain.com/mycom/base:latest,這是一個完整的image名稱,下面說下各部分的作用

  1. registry.domain.com: image所在服務器地,如果是官方的hub部分忽略
  2. mycom:namespace,被稱爲命名空間,或者說成是你鏡像的一個分類
  3. base:這個是鏡像的具體名字
  4. latest:這是此image的版本號,當然也可能是其它的,如1.1之類的

然後是如何push到私有docker-registry,直接上命令:

docker tag b750fe79269d 127.0.0.1:5000/mycom/base

b750fe79269d是現有image一個id,你可以從docker hub中pull,或者自己構建image。後面的部分參考上面解釋。
這一步的工作主要是給image指定一個服務器地址,讓docker知道往哪裏push。
然後就是push,命令:

docker push 127.0.0.1:5000/mycom/base

然後等待docker push完成就可以從私有docker-registry中pull或者run了,如:

docker run 127.0.0.1:5000/mycom/base

這裏直接使用本機ip,正式使用最好指定一個二級域名,這樣ip變了以後也不影響使用。

私有docker-registry的使用

其實http://docs.docker.com/reference/api/registry_api/這裏有docker-registry的api,
只是沒有如何獲取所有image列表的方法,後來查了下,可通過http://127.0.0.1:5000/v1/search查出

如果需要的話建立一個頁面,可供查詢所有可用的image,同事們就可以隨時從你的docker-registry中pull他想要的image,這個速度當然是不言而喻的了,更重要的是不用擔心會失敗:+1:。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章