DockerHub配置
//參考鏈接 https://yeasy.gitbooks.io/docker_practice/content/repository/local_repo.html
$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo -E pip install docker-registry//-E表示在代理下工作
$ sudo apt-get install swig
//安裝完之后,依然報(bào)錯(cuò)error:command 'swig' failed with exit status 1
// Rolling back uninstall of M2Crypto
//解決問題的方法:https://my.oschina.net/54720/blog/863329
//具體做法是 vim /usr/include/opensslconf.h 編輯36行
//注釋error行,載入opensslconf.h文件,如下圖所示。
// #include "opensslconf.h"
ubuntu
編輯/etc/hosts
10.21.4.24 lucus.com
編輯ubuntu /etc/default/docker或者Centos /etc/sysconfig/docker
DOCKER_OPTS="--insecure-registry lucus.com:5000"
//然后修改配置文件,主要修改 dev 模板段的 storage_path 到本地的存儲(chǔ)倉(cāng)庫(kù)的路徑。
$ cp config/config_sample.yml config/config.yml
//啟動(dòng)服務(wù)
$ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application
//服務(wù)啟動(dòng)成功之后,使用curl訪問本地的5000端口,看到輸出docker-registry的版本信息說明運(yùn)行成功。

image.png
驗(yàn)證本地倉(cāng)庫(kù),上傳、下載、搜索鏡像
創(chuàng)建好私有倉(cāng)庫(kù)之后,就可以使用 docker tag 來標(biāo)記一個(gè)鏡像,然后推送它到倉(cāng)庫(kù),別的機(jī)器上就可以下載下來了。例如私有倉(cāng)庫(kù)地址為 192.168.7.26:5000。
現(xiàn)在本機(jī)查看已有的鏡像
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
ubuntu 14.04 ba5877dc9bec 6 weeks ago 192.7 MB
使用docker tag 將 ba58 這個(gè)鏡像標(biāo)記為 192.168.7.26:5000/test(格式為 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG])。
$ sudo docker tag ba58 192.168.7.26:5000/test
使用 docker push 上傳標(biāo)記的鏡像。
$ sudo docker push 192.168.7.26:5000/test
用 curl 查看倉(cāng)庫(kù)中的鏡像。
$ curl http://192.168.7.26:5000/v1/search
這里可以看到 {"description": "", "name": "library/test"},表明鏡像已經(jīng)被成功上傳了。
現(xiàn)在可以到另外一臺(tái)機(jī)器去下載這個(gè)鏡像。
$ sudo docker pull 192.168.7.26:5000/test
刪除鏡像
curl -X DELETE 10.21.4.39:5000/v1/repositories/鏡像名稱/