Docker基础九(Registry 私有镜像仓库)
生活随笔
收集整理的這篇文章主要介紹了
Docker基础九(Registry 私有镜像仓库)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
私有鏡像倉庫簡介
Docker Registry:官方docker鏡像存儲、管理和分發工具。
部署私有倉庫可以解決以下問題:
1、下載鏡像時所帶來的網絡延時。
2、方便鏡像版本的更新與維護
3、部署私有應用程序
一、私有鏡像倉庫工作流程
1、用戶本地構建鏡像,將鏡像推送到Registry倉庫.
2、Docker 用戶使用的時候,直接從Registry 下載, 無須從Docker Hub 下載.
二、搭建私有倉庫
官方提供的私有倉庫鏡像,無需調整,直接使用。將宿主機目錄掛載到容器中,提供數據 持久化。
鏡像名稱:registry,默認使用最新版。
掛載宿主機/opt/myregistry目錄到容器目錄/var/lib/registry
[root@master ~]# docker image tag centos:latest 172.16.73.159:5000/centos7:v1.0
三、上傳本地鏡像至私有倉庫
給鏡像打tag 標簽,要寫全鏡像倉庫地址。
[root@master ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry
注意:報錯信息
The push refers to repository [172.16.73.159:5000/centos7] Get https://172.16.73.159:5000/v2/: http: server gave HTTP response to HTTPS client
出現https 錯誤解決方法有兩種:
1、修改Docker 節點配置文件 (本案例中)
2、添加Nginx 反向代理
解決辦法:修改配置文件,建立信任
[root@master ~]# cat /etc/docker/daemon.json
{
"registry-mirrors":["https://plqjafsr.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.91.8:5000"] # 添加這條
}
重啟docker 服務
[root@master ~]# systemctl restart docker
重新推送鏡像
[root@master ~]# docker push 172.16.73.159:5000/centos7:v1.0 The push refers to repository [172.16.73.159:5000/centos7] 291f6e44771a: Pushed v1.0: digest: sha256:fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71 size: 529
4、查看私有倉庫鏡像列表
[root@master ~]# curl http://172.16.73.159:5000/v2/_catalog
{"repositories":["centos7"]}
5、刪除私有倉庫中鏡像
1、進入docker registry 的容器中
[root@master ~]# docker exec -it registry /bin/sh
2、刪除指定鏡像目錄文件
/ # rm -rf /var/lib/registry/docker/registry/v2/repositories/centos7/
3、清理掉blob
/ # registry garbage-collect /etc/docker/registry/config.yml 0 blobs marked, 3 blobs and 0 manifests eligible for deletion blob eligible for deletion: sha256:0d120b6ccaa8c5e149176798b3501d4dd1885f961922497cd0abef155c869566 INFO[0000] Deleting blob: /docker/registry/v2/blobs/sha256/0d/0d120b6ccaa8c5e149176798b3501d4dd1885f961922497cd0abef155c869566 go.version=go1.11.2 instance.id=e0d36e01-e7b5-47a6-8345-c5ec637069b9 service=registry blob eligible for deletion: sha256:3c72a8ed68140139e483fe7368ae4d9651422749e91483557cbd5ecf99a96110 INFO[0000] Deleting blob: /docker/registry/v2/blobs/sha256/3c/3c72a8ed68140139e483fe7368ae4d9651422749e91483557cbd5ecf99a96110 go.version=go1.11.2 instance.id=e0d36e01-e7b5-47a6-8345-c5ec637069b9 service=registry blob eligible for deletion: sha256:fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71 INFO[0000] Deleting blob: /docker/registry/v2/blobs/sha256/fc/fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71 go.version=go1.11.2 instance.id=e0d36e01-e7b5-47a6-8345-c5ec637069b9 service=registry
4、再次查看版本庫
[root@master mnt]# curl http://172.16.73.159:5000/v2/_catalog
{"repositories":[]}
6、生產容器容量估算
總結
以上是生活随笔為你收集整理的Docker基础九(Registry 私有镜像仓库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GUI
- 下一篇: Delphi 常用属性说明