教你分分鐘搞定Docker私有倉庫Registry

1、什麼是Docker私有倉庫Registryhtml

官方的Docker hub是一個用於管理公共鏡像的好地方,咱們能夠在上面找到咱們想要的鏡像,也能夠把咱們本身的鏡像推送上去。可是,有時候咱們的服務器沒法訪問互聯網,或者你不但願將本身的鏡像放到公網當中,那麼你就須要Docker Registry,它能夠用來存儲和管理本身的鏡像。nginx

2、安裝Docker及Registryredis

安裝Docker見以前博文:docker

http://www.cnblogs.com/Javame/p/5492543.htmljson

安裝Registry:centos

很簡單,只須要運行一個Registry容器便可(包括下載鏡像和啓動容器、服務)安全

docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --name registry --restart=always registry

3、如何使用Registrybash

我也看過其餘博文,常常報的一個錯誤就是:服務器

unable to ping registry endpoint https://172.18.3.22:5000/v0/
v2 ping attempt failed with error: Get https://172.18.3.22:5000/v2/: http: server gave HTTP response to HTTPS client

這是因爲Registry爲了安全性考慮,默認是須要https證書支持的.curl

可是咱們能夠經過一個簡單的辦法解決:

修改/etc/docker/daemon.json文件

#vi /etc/docker/daemon.json
{ "insecure-registries": ["<ip>:5000"] }
#systemctl daemon-reload
#systemctl restart docker
注:<ip>:Registry的機器ip地址,在安裝registry的節點和客戶端須要訪問私有Registry的節點都須要執行此步操做。

4、經過 docker tag重命名鏡像,使之與registry匹配

docker tag inits/nginx1.8 <ip>:5000/nginx1.8:latest

5、上傳鏡像到Registry

docker push <ip>:5000/nginx1.8:latest

6、查看Registry中全部鏡像信息

curl http://<ip>:5000/v2/_catalog
返回:
{"repositories":["centos6.8","jenkins1.638","nginx","redis3.0","source2.0.3","zkdubbo"]}

 

7、其餘Docker服務器下載鏡像

docker pull <ip>:5000/nginx1.8:latest

8、啓動鏡像

docker run -it <ip>:5000/nginx1.8:latest /bin/bash
相關文章
相關標籤/搜索