天天看點

centos下搭建docker私有倉庫

    目前Docker Registry已經更新到了v2,最新版的Docker已不再支援v1。Registry v2使用Go語言編寫,在性能和安全性上做了很多優化,重新設計了鏡像的存儲格式。此文檔是在v1的基礎上寫的,如果需要安裝registry v2,隻需下載下傳registry:2.2即可,或者可以下載下傳後面的安裝腳本運作安裝。

一、下載下傳registry鏡像

docker pull registry

二、啟動私有倉庫容器,預設情況下,會将倉庫存放于容器内的/tmp/registry目錄下,這樣如果容器被删除,則存放于容器中的鏡像也會丢失,是以我們一般情況下會指定本地一個目錄挂載到容器内的/tmp/registry下

docker run -d -p 5000:5000 -v /data/docker/registry:/tmp/registry registry

三、檢視啟動程序

docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES

9dc25301d44f        registry            "docker-registry"   20 seconds ago      Up 18 seconds       0.0.0.0:5000->5000/tcp   reverent_ptolemy

四、建立鏡像連結或為基礎鏡像打個标簽

docker tag docker.io/centos6.7-base 10.44.86.222:5000/centos6.7-base

五、送出鏡像到本地私有倉庫中

docker push 10.44.86.222:5000/centos6.7-base

六、如果報以下錯誤,需要修改/etc/sysconfig/docker檔案

Error response from daemon: invalid registry endpoint https://10.44.86.222:5000/v0/: unable to ping registry endpoint https://10.44.86.222:5000/v0/

v2 ping attempt failed with error: Get https://10.44.86.222:5000/v2/: EOF

 v1 ping attempt failed with error: Get https://10.44.86.222:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 10.44.86.222:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/10.44.86.222:5000/ca.crt

在/etc/sysconfig/docker檔案添加以下選項:

other_args='--insecure-registry 10.44.86.222:5000 --graph=/data/docker/images'

OPTIONS='--selinux-enabled --insecure-registry 10.44.86.222:5000'

因為從docker1.3.2版本開始預設docker registry使用的是https

七、檢視私有倉庫是否存在對應的鏡像

curl 10.44.86.222:5000/v1/search

{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/centos6.7-base"}]}

     本文轉自aaron428 51CTO部落格,原文連結:http://blog.51cto.com/aaronsa/1740747,如需轉載請自行聯系原作者

繼續閱讀