docker本地搭建私有registry倉庫

docker hub雖然提供得有公有倉庫,但是有一些限制,一是網絡連接慢;二是上傳docker hub的鏡像所有人都可以訪問,雖然可以私有化倉庫但是不是免費的;三是沒那麼安全。所以我們可以通過registry在本地建一個鏡像倉庫,docker已經將registry開源了,下面開始創建本地鏡像倉庫。

1、準備環境——需要兩臺裝有docker的虛擬機

服務端 docker1:docker私有倉庫服務器,運行registry容器;
測試端 docker2:普通的docker服務器,在這臺服務器上下載鏡像並上傳倉庫

2、配置服務端docker1

docker pull registry

docker本地搭建私有registry倉庫 

docker本地搭建私有registry倉庫 

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

docker本地搭建私有registry倉庫

運行registry容器

curl http://127.0.0.1:5000/v2/_catalog

docker本地搭建私有registry倉庫

可以看到倉庫中還沒有鏡像,現在我們開始進行測試端的配置

3、配置測試端docker2

下載鏡像 docker pull busybox

docker本地搭建私有registry倉庫

修改鏡像源

vim /etc/docker/daemon.json

docker本地搭建私有registry倉庫

修改爲自己的registry安裝的容器,也就是服務端docker1的地址

docker本地搭建私有registry倉庫

 

{"registry-mirrors": ["http://registry.docker-cn.com"],

"insecure-registries": [ "192.168.32.131:5000"]}

重啓docker服務

systemctl restart docker

爲鏡像打標籤

docker tag busybox:latest 172.18.18.90:5000/busybox:v1

docker本地搭建私有registry倉庫

上傳鏡像

docker push 172.18.18.90:5000/busybox:v1

我們查看服務端docker1

docker本地搭建私有registry倉庫

 

現在就上傳成功了,我們可以再試一下拉取,刪除docker2上的鏡像,從docker1 pull下來

刪除 docker rmi -f $(docker images -aq)

拉取 docker pull 192.168.32.131:5000/busybox:v1

docker本地搭建私有registry倉庫

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章