1.下載倉庫鏡像
1
|
docker pull registry |
2.創建私有倉庫容器-d表示后臺啟動
1
|
docker run -d -p 5000:5000 - v /opt/data/registry : /var/lib/registry registry |
3.防火墻解除5000端口限制
1
|
firewall-cmd --zone=public --add-port=5000 /tcp --permanent |
4.驗證私有倉庫是否啟動成功
http://192.3.8.12:5000/v2
5.打包鏡像
1
|
docker tag my-nginx:v1 192.168.56.200:5000 /centos |
6.把打包好的鏡像上傳到私有倉庫
1
2
3
|
[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 |
這個問題可能是由于客戶端采用https,docker registry未采用https服務所致。一種處理方式是把客戶對地址“192.168.56.200:5000”請求改為http。
解決方法:
在”/etc/docker/“目錄下,創建”daemon.json“文件。在文件中寫入: { "insecure-registries":["192.168.56.200:5000"] }
保存退出后,重啟docker。
7.再次上傳又出來了問題,是因為selinux沒有關。(使用setenforce 0 命令設置臨時關閉,也可以vi /etc/sysconfig/selinux把里邊的一行改為selinux=disabled改了之后保存,然后重啟就可以了。)
8.查看私有倉庫中的鏡像
http://192.3.8.187:5000/v2/_catalog
9.這樣就在server2上下載私有倉庫的鏡像了。
1
|
docker pull 192.168.56.200:5000 /centos |
10.倉庫鏡像的備份和恢復。
直接定期備份/opt/data/registry,恢復是直接掛在到docker-registry鏡像下啟動即可。
1
|
docker run -d -p 5000:5000 - v /opt/data/registry : /var/lib/registry registry |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.51cto.com/14033037/2309066