1.設置insecure-registry:git
可能會出現沒法push鏡像到私有倉庫的問題。github
這是由於咱們啓動的registry服務不是安全可信賴的。docker
1) sudo vim /etc/default/docker
DOCKER_OPTS="--insecure-registry 10.229.43.237:5000" vim
2) $ sudo service docker restart瀏覽器
2.獲取registry鏡像 安全
Registry之前是用Python寫的,考慮到效率問題,spa
後來用Go重寫一遍,因此github看到的是distribution。rest
https://github.com/docker/distributionblog
$ sudo docker pull registry:2.5.1it
3.啓動registry容器
$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 10000:5000 --restart=always --name registry registry:2.5.1
$ netstat -an | grep 5000 檢查5000端口是否被佔用。
Registry服務默認會將上傳的鏡像保存在容器的/var/lib/registry,
咱們將主機的/opt/registry目錄掛載到該目錄,便可實現將鏡像保存到主機的/opt/registry目錄。
打開瀏覽器輸入http://127.0.0.1:10000/v2,能夠訪問說明registry運行正常。
4.Tag鏡像
$ sudo docker tag hello-world 127.0.0.1:10000/hello-world
$ sudo docker images 能夠看到新產生了一個本地鏡像127.0.0.1:10000/hello-world
5.推送本地鏡像到私有Registry
$ sudo docker push 127.0.0.1:10000/hello-world
打開瀏覽器輸入http://127.0.0.1:10000/v2/_catalog,檢查registry是否包含hello-world
6.刪除本地鏡像
$ sudo docker rmi 127.0.0.1:10000/hello-world
7.從新拉取鏡像
$ sudo docker pull 127.0.0.1:10000/hello-world
$ sudo docker run 127.0.0.1:10000/hello-world