Docker基础九(Registry 私有镜像仓库)
私有鏡像倉(cāng)庫(kù)簡(jiǎn)介
Docker Registry:官方docker鏡像存儲(chǔ)、管理和分發(fā)工具。
部署私有倉(cāng)庫(kù)可以解決以下問(wèn)題:
1、下載鏡像時(shí)所帶來(lái)的網(wǎng)絡(luò)延時(shí)。
2、方便鏡像版本的更新與維護(hù)
3、部署私有應(yīng)用程序
一、私有鏡像倉(cāng)庫(kù)工作流程
1、用戶(hù)本地構(gòu)建鏡像,將鏡像推送到Registry倉(cāng)庫(kù).
2、Docker 用戶(hù)使用的時(shí)候,直接從Registry 下載, 無(wú)須從Docker Hub 下載.
二、搭建私有倉(cāng)庫(kù)
官方提供的私有倉(cāng)庫(kù)鏡像,無(wú)需調(diào)整,直接使用。將宿主機(jī)目錄掛載到容器中,提供數(shù)據(jù) 持久化。
鏡像名稱(chēng):registry,默認(rèn)使用最新版。
掛載宿主機(jī)/opt/myregistry目錄到容器目錄/var/lib/registry
[root@master ~]# docker image tag centos:latest 172.16.73.159:5000/centos7:v1.0
三、上傳本地鏡像至私有倉(cāng)庫(kù)
給鏡像打tag 標(biāo)簽,要寫(xiě)全鏡像倉(cāng)庫(kù)地址。
[root@master ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry
注意:報(bào)錯(cuò)信息
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
出現(xiàn)https 錯(cuò)誤解決方法有兩種:
1、修改Docker 節(jié)點(diǎn)配置文件 (本案例中)
2、添加Nginx 反向代理
解決辦法:修改配置文件,建立信任
[root@master ~]# cat /etc/docker/daemon.json
{
"registry-mirrors":["https://plqjafsr.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.91.8:5000"] # 添加這條
}
重啟docker 服務(wù)
[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、查看私有倉(cāng)庫(kù)鏡像列表
[root@master ~]# curl http://172.16.73.159:5000/v2/_catalog
{"repositories":["centos7"]}
5、刪除私有倉(cāng)庫(kù)中鏡像
1、進(jìn)入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、再次查看版本庫(kù)
[root@master mnt]# curl http://172.16.73.159:5000/v2/_catalog
{"repositories":[]}
6、生產(chǎn)容器容量估算
總結(jié)
以上是生活随笔為你收集整理的Docker基础九(Registry 私有镜像仓库)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GUI
- 下一篇: Delphi 常用属性说明