Docker 的鏡像服務(wù)器

2018-07-26 17:37 更新

docker 的鏡像服務(wù)器 docker-registry 是 docker 項(xiàng)目的組成部分. 前面在談 docker 的命令時(shí), 它的 pull/push 命令就是和鏡像服務(wù)器打交道. 并且, docker 的設(shè)計(jì)之中, 服務(wù)器地址不是單獨(dú)配置的, 而是作為鏡像名稱的一部分.

鏡像的完整名稱是:

127.0.0.1:5000/zephyr/common:latest

各部分的意思:

  • 127.0.0.1:5000 就是服務(wù)器地址
  • zephyr 是名字空間
  • common 是鏡像名
  • latest 是版本

docker-registry 的實(shí)現(xiàn)也是開源的, 在 github https://github.com/dotcloud/docker-registry 上拿下源碼就可以跑起來.

拿下源碼之后, 項(xiàng)目中有一個(gè) Dockerfile 文件, 我們可以開始構(gòu)建鏡像了. build 之前, 因?yàn)?GFW 的原因, 我們可以先把 Dockerfile 調(diào)整一下, 包括兩部分:

  • 把 ubuntu 的軟件源改成國內(nèi)的.
  • 把 pip 的源改成國內(nèi)的.

然后開始構(gòu)建:

docker build -rm -t registry .

完成之后, 你可以得到一個(gè)名為 registry 的鏡像, 直接運(yùn)行即可:

docker run -p 5000:5000 registry

訪問 http://localhost:5000 能得到響應(yīng), 一個(gè) docker-registry 服務(wù)就起來了.

現(xiàn)在你可以把鏡像提交到上面去:

docker tag xxx 127.0.0.1:5000/zephyr/common
docker push 127.0.0.1:5000/zephyr/common

完成之后, 在瀏覽器中訪問 http://localhost:5000/v1/search 可以看到列表.

獲取鏡像:

docker pull 127.0.0.1:5000/zephyr/common

docker-registry 本身是設(shè)計(jì)成一套 Web API 的, 具體文檔在 http://docs.docker.com/reference/api/registry_api/ .

docker 本身的服務(wù), 也是有一套基于網(wǎng)絡(luò)的 API 可供使用的, 文檔在 http://docs.docker.com/reference/api/docker_remote_api/ .

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)