[Docker] ubuntu14.04LTS 上部署自己的 provider docker registry

   在調研 Marathon  的過程中遇到了一個問題。就是每次新建APP的時候。總是會重新的去docker hub上push 鏡像。導致每次啓動app的時間都很漫長,嚴重影響了自己的進度。而沒有找到合適的方式如何讓其使用本地的 image, 所以就想就此機會搭建一個自己的 Provider docker registry。 畢竟自己也經常性的需要在不同的機器上部署docker。這樣反而提升了部署效率。

版本信息:

    Docker version 1.10.3, build 20f81dd

    Ubuntu 14.04.4 LTS

setp 1:  安裝依賴包

    $ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev

  $ sudo pip install docker-registry
setp2: 修改配置文件:
    $ cd  /usr/local/lib/python2.7/dist-packages/config

  $ cp config_sample.yml config.yml
    Note: 然後修改配置文件,主要修改 dev 模板段的 storage_path 到本地的存儲倉庫的路徑。 可以不用修改。使用默認值。

setp3: 啓動服務

  $ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application

setp4: 驗證服務的可用性

   # /usr/local/lib/python2.7/dist-packages/config# curl http://127.0.0.1:5000/v1/search


在想要使用我們自己的provider docker registry的計算節點上,我們需要做如下配置:

由於我們搭建的沒有支持ssl服務。所以我們在跨主機訪問的時候,可能會遇到報錯說當您使用http服務而不是httpsdshihou.xuyao在配置文件中配置一參數:

   # vi /etc/default/docker

添加如下內容:DOCKER_OPTS="--insecure-registry x.x.x.x:5000"

   # service docker restart

至此我們的工作就完成了。現在我們就可以使用自己的 Provider Docker Registry了。


使用方法舉例:

  如果我們想把自己的本地鏡像push到 provider docker registry 我們只需要使用如下命令:

   

  $ sudo docker tag image_id 192.168.7.26:5000/test
其中 使用docker tag ba58xxxxx(image_id) 這個鏡像標記爲 192.168.7.26:5000/test(格式爲 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG])。

  $ sudo docker push 192.168.7.26:5000/test

這樣就將 自己本地的鏡像push到服務器上了。

使用 provider docker registry的image 下載到本地的命令如下:

  $ sudo docker pull 192.168.7.26:5000/test

參考:http://udn.yyuap.com/doc/docker_practice/repository/local_repo.html



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