docker系列之镜像服务器
docker 的鏡像服務器docker-registry是 docker 項目的組成部分. 前面在談 docker 的命令時, 它的pull/push命令就是和鏡像服務器打交道. 并且, docker 的設計之中, 服務器地址不是單獨配置的, 而是作為鏡像名稱的一部分.
鏡像的完整名稱是:
127.0.0.1:5000/zephyr/common:latest
各部分的意思:
127.0.0.1:5000就是服務器地址
zephyr是名字空間
common是鏡像名
latest是版本
docker-registry的實現也是開源的, 在 githubhttps://github.com/dotcloud/docker-registry上拿下源碼就可以跑起來.
拿下源碼之后, 項目中有一個 Dockerfile 文件, 我們可以開始構建鏡像了. build 之前, 因為 GFW 的原因, 我們可以先把 Dockerfile 調整一下, 包括兩部分:
把 ubuntu 的軟件源改成國內的.
把 pip 的源改成國內的.
然后開始構建:
docker build -rm -t registry .
完成之后, 你可以得到一個名為 registry 的鏡像, 直接運行即可:
docker run -p 5000:5000 registry
訪問http://localhost:5000能得到響應, 一個docker-registry服務就起來了.
現在你可以把鏡像提交到上面去:
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本身是設計成一套 Web API 的, 具體文檔在http://docs.docker.com/reference/api/registry_api/.
docker本身的服務, 也是有一套基于網絡的 API 可供使用的, 文檔在http://docs.docker.com/reference/api/docker_remote_api/.
總結
以上是生活随笔為你收集整理的docker系列之镜像服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验证11位手机号正则表达式
- 下一篇: Java程序员必备的10个大数据框架!