詳解Ubuntu Docker Registry 搭建私有倉庫
服務器版本 Ubuntu 16.04 LTS。
安裝命令:
$ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
Registry 服務默認會將鏡像保存在/var/lib/registry目錄下,上面命令設置保存目錄在/opt/registry下,我們可以看下 Registry 容器狀態(tài):
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e2b1ffd9072e registry "/entrypoint.sh /e..." 2 hours ago Up About an hour 0.0.0.0:5000->5000/tcp stoic_davinci
接著,我們登錄另外一臺服務器,將本地的已有的鏡像文件推送到私有倉庫中,首先,我們需要將鏡像的tag標記為要推送到私有倉庫,示例:
$ docker tag hwapp:v2 40.125.207.78:5000/hwapp:v3
然后,我們看下鏡像文件列表:
$ docker images docker images REPOSITORY TAG IMAGE ID CREATED SIZE 40.125.207.78:5000/hwapp v3 fe28b19b4410 24 hours ago 1.63GB hwapp v2 fe28b19b4410 24 hours ago 1.63GB hwapp v1 8a28e2e870d4 25 hours ago 1.63GB microsoft/aspnetcore latest 0f2330f1a843 26 hours ago 280MB microsoft/dotnet latest a7dd4972fc95 6 days ago 1.63GB
最后,我們就可以將40.125.207.78:5000/hwapp:v3鏡像文件,推送到私有倉庫了:
$ docker push 40.125.207.78:5000/hwapp:v3
可能會出現下面的錯誤:
$ docker push 40.125.207.78:5000/hwapp:v3
The push refers to a repository [40.125.207.78:5000/hwapp]
Get https://40.125.207.78:5000/v1/_ping: http: server gave HTTP response to HTTPS client
解決方式,在本服務器操作,而不是私有倉庫所在服務器(如果已有daemon.json文件,進行修改即可):
$ touch /etc/docker/daemon.json
$ echo '{ "insecure-registries": ["40.125.207.78:5000"] }' > /etc/docker/daemon.json
$ service docker restart
然后,再執(zhí)行下推送命令就可以了,我們也可以直接構建成要推送私有倉庫的鏡像,示例:
$ docker build -t 40.125.207.78:5000/hwapp:v4 .
然后,再執(zhí)行下推送命令:
$ docker push 40.125.207.78:5000/hwapp:v4
推送成功之后,我們可以檢查下私有倉庫里的鏡像文件:
$ curl http://40.125.207.78:5000/v2/_catalog
{"repositories":["hwapp"]}
$ curl http://40.125.207.78:5000/v2/hwapp/tags/list
{"name":"hwapp","tags":["v3","v4"]}
然后,我們就可以拉取私有倉庫里的鏡像文件了:
$ docker pull 40.125.207.78:5000/hwapp:v4
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解通過docker和docker-compose實現eureka高可用
這篇文章主要介紹了詳解通過docker和docker-compose實現eureka高可用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
使用Docker部署Nacos并配置MySQL數據源的詳細步驟
Nacos是阿里巴巴開源的服務發(fā)現、配置管理和服務管理平臺,它提供了注冊中心和配置中心的功能,能夠輕松地管理微服務的注冊與發(fā)現,以及動態(tài)配置的管理,這篇文章主要給大家介紹了關于使用Docker部署Nacos并配置MySQL數據源的超詳細步驟,需要的朋友可以參考下2024-05-05
Docker-client for python詳解及簡單示例
這篇文章主要介紹了Docker-client for python詳解及簡單示例的相關資料,需要的朋友可以參考下2017-04-04

