1. 程式人生 > >Docker搭建本地倉庫並推送映象到本地倉庫

Docker搭建本地倉庫並推送映象到本地倉庫

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