構建私有Docker Registry

 

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

相關文章
相關標籤/搜索