Docker搭建本地倉庫並推送映象到本地倉庫
阿新 • • 發佈:2018-11-07
Dockers不僅提供了一箇中央倉庫,同時也允許我們使用registry搭建本地私有倉庫;
一、本地下載registry
sudo docker pull registry:2
二、啟動容器執行registry映象
docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2
說明:
-d ==> 作為daemon程序啟動,也就是後臺啟動
-v /opt/registry:/tmp/registry ==> 預設情況下,會將倉庫存放於容器內的/tmp/registry目錄下,指定本地目錄/opt/registry掛載到容器,可以防止容器意外停止後鏡像的丟失。
-p 5000:5000 ==> 前一個5000是host的埠,後一個是容器的埠。這裡是將容器的5000埠對映到host的5000埠
- 配置https許可權支援
vi /etc/docker/daemon.json
- 防火牆新增5000埠
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --reload
- 重啟docker服務
systemctl restart docker
- 上傳映象到本地私有庫:registry
先下載busybox映象作為示例:
docker pull busybox
- 修改映象的tag
docker tag busybox 192.168.10.59:5000/busybox
- 推送映象到本地倉
docker push 192.168.10.59:5000/busybox
報錯如下:
解決辦法:禁用selinux;
禁用selinux參考我的博文:Centos禁用SELinux
上傳成功:
三、檢視上傳的映象
curl http://192.168.10.59:5000/v2/_catalog
- 從本地倉庫拉取映象
docker pull 192.168.10.59:5000/busybox