Docker怎樣搭建本地私有倉庫(實例詳解)

本篇文章給大家?guī)砹岁P于docker中搭建本地私有倉庫的相關知識,其中包括使用registry鏡像創(chuàng)建私有倉庫以及檢查是否搭建成功等相關問題,希望對大家有幫助。

Docker怎樣搭建本地私有倉庫(實例詳解)

使用registry鏡像創(chuàng)建私有倉庫

docker run -itd --restart always --name docker-hub -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

查看私有倉庫 現在還沒有存放鏡像 所以顯示為空

curl -XGET 127.0.0.1:5000/v2/image_name/tags/list

新建一個鏡像(以ip:端口為名), 并嘗試push

ifconfig | grep inet

Docker怎樣搭建本地私有倉庫(實例詳解)
曉得了本機的ip為 172.17.0.1

  1. 創(chuàng)建新容器
docker tag ubuntu:18.04 172.17.0.1:5000/test

Docker怎樣搭建本地私有倉庫(實例詳解)
2. push鏡像

docker push 172.17.0.1:5000/test

若出現

Get https://172.17.0.1:5000/v2/: http: server gave HTTP response to https client

Docker怎樣搭建本地私有倉庫(實例詳解)
不要慌張, 去更改一下機器配置(/etc/docker/daemon.json)就可以了, 首先避免手殘, 先用cp備份一下

cp daemon.json daemon.json.bak

再更改daemon.json的內容

{"insecure-registries":["172.17.0.1:5000"]}

insecure-registries的值為可迭代列表,可以自行添加ip:端口

Docker怎樣搭建本地私有倉庫(實例詳解)
記得更改為自己的ip與端口

重啟Docker

systemctl restart docker

最后成功push

docker push 172.17.0.1:5000/test

Docker怎樣搭建本地私有倉庫(實例詳解)

檢查是否搭建成功/嘗試pull下剛剛push的文件

將原來的鏡像刪掉

docker rmi 172.17.0.1:5000/test  #將原來push的鏡像刪掉,方便等會pull檢驗echo 'DOCKER_OPTS="--insecure-registry 172.17.0.1:5000/test' >> /etc/default/docker

若在只是實驗,寫0.0.0.0/0(全部ip端口)也不是不行
Docker怎樣搭建本地私有倉庫(實例詳解)

service docker restart		#重啟服務docker pull 172.17.0.1:5000/test	#pull下之前push的鏡像

Docker怎樣搭建本地私有倉庫(實例詳解)
下載后可以將pull下的鏡像, 改一下名字, 方便以后調用.

推薦學習:《docker視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享