1.下載倉庫鏡像
2.創(chuàng)建私有倉庫容器-d表示后臺(tái)啟動(dòng)
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
3.防火墻解除5000端口限制
firewall-cmd --zone=public --add-port=5000/tcp --permanent
4.驗(yàn)證私有倉庫是否啟動(dòng)成功
http://192.3.8.12:5000/v2
5.打包鏡像
docker tag my-nginx:v1 192.168.56.200:5000/centos
6.把打包好的鏡像上傳到私有倉庫
[root@server1 ~]# docker push 192.168.56.200:5000/centos
The push refers to a repository [192.168.56.200:5000/centos]
Get https://192.168.56.200:5000/v1/_ping: http: server gave HTTP response to HTTPS client
這個(gè)問題可能是由于客戶端采用https,docker registry未采用https服務(wù)所致。一種處理方式是把客戶對(duì)地址“192.168.56.200:5000”請(qǐng)求改為http。
解決方法:
在”/etc/docker/“目錄下,創(chuàng)建”daemon.json“文件。在文件中寫入: { "insecure-registries":["192.168.56.200:5000"] }
保存退出后,重啟docker。
7.再次上傳又出來了問題,是因?yàn)閟elinux沒有關(guān)。(使用setenforce 0 命令設(shè)置臨時(shí)關(guān)閉,也可以vi /etc/sysconfig/selinux把里邊的一行改為SELINUX=disabled改了之后保存,然后重啟就可以了。)
8.查看私有倉庫中的鏡像
http://192.3.8.187:5000/v2/_catalog
9.這樣就在server2上下載私有倉庫的鏡像了。
docker pull 192.168.56.200:5000/centos
10.倉庫鏡像的備份和恢復(fù)。
直接定期備份/opt/data/registry,恢復(fù)是直接掛在到docker-registry鏡像下啟動(dòng)即可。
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。