Docker 之registry私有倉庫搭建

Docker 之registry私有倉庫搭建

官方提供的私有倉庫docker registry用法html

https://yeasy.gitbooks.io/docker_practice/repository/registry.htmlnode

1.下載registry鏡像而且啓動私有倉庫容器

(1)下載

docker pull registrygit

私有倉庫會被建立在容器的/var/lib/registry下,所以經過-v參數將鏡像文件存儲到本地的/opt/data/registry下 端口映射容器中的5000端口到宿主機的5000端口web

(2)啓動

docker run -d -p 服務器端口:容器端口 -v  服務器目錄:私有倉庫容器目錄docker

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registryjson

(3)測試運行

檢查啓動的registry容器vim

docker pscentos

測試鏈接容器api

# telnet 服務器IP 端口(根據運行的端口)瀏覽器

telnet 10.0.0.209 5000

 

直接用瀏覽器訪問

http://ip+端口(5000)能夠測試/v2/_catalog

頁面會有以下顯示

 

 

 

 

2.修改鏡像tag

docker registry的地址端口開頭

# 語法: docker tag 原鏡像名 服務器IP:5000/鏡像名

如:

# docker tag centos 10.0.0.209:5000/mycentos

這個時候咱們會遇到一個https限制推送鏡像的問題

3.解決 HTTPS 方式推送鏡像問題

(1)修改/etc/docker/daemon.json配置

經過 Docker 的配置選項來取消這個限制,這裏必須寫正確json數據

添加一行配置

下面的ip爲運行私有倉庫的ip,端口5000

[root@node209 ~]# cat /etc/docker/daemon.json

{

  "registry-mirrors": ["https://t7h7r7wr.mirror.aliyuncs.com"],

  "insecure-registries":["10.0.0.209:5000"]

}

(2)添加/lib/systemd/system/docker.service配置

寫入到[Service]配置塊中,加載此配置文件

vim /lib/systemd/system/docker.service

添加一行配置

EnvironmentFile=-/etc/docker/daemon.json

結果以下截圖:

 

(3)從新加載docker及重啓並重啓倉庫容器

從新加載docker

systemctl daemon-reload

重啓docker

systemctl restart docker

重啓倉庫容器

# docker ps -a     # 找到registry 鏡像所對應的容器ID

# dokcer start 容器ID

(4)推送本地鏡像

# docker push 10.0.0.209:5000/mycentos

5.查看推送狀況

因爲docker registry沒有web界面,可是提供了API數據

要想查看已經上傳的鏡像, 經過如下連接訪問便可查看:

官網教程:https://docs.docker.com/registry/spec/api/#listing-repositories

:10.0.0.209爲部署倉庫的服務器IP

法一:

curl http://10.0.0.209:5000/v2/_catalog

法二:

瀏覽器訪問http://10.0.0.209.10:5000/v2/_catalog

法一:截圖

 

法二:截圖

 

 

 

 

 

均可得上傳鏡像到私有倉庫成功

6.刪除本地鏡像,從私有倉庫中下載

#docker rmi 10.0.0.209:5000/mycentos    #刪除剛纔上傳的本地鏡像

#docker pull 10.0.0.209:5000/mycentos    #從私有倉庫pull下載鏡像

#docker images                       # 查看鏡像

 

相關文章
相關標籤/搜索