Docker 搭建本地私有倉庫
阿新 • • 發佈:2021-10-20
搭建本地私有倉庫
#首先下載registry 映象 docker pull registry #在daemon.json檔案中新增私有映象倉庫地址 vim /etc/ docker/daemon.json { "insecure-registries": ["192.168.80.10:5000"], #新增,注意用逗號結尾 "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"] } systemctl restart docker.service #執行 registry 容器 docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest =================================================== -itd: 在容器中開啟一個偽終端進行互動操作,並在後臺執行 -v: 把宿主機的/data/registry目錄繫結到容器/var/lib/registry目錄(這個目錄是registry容器中存放映象檔案的目錄),來實現資料的 持久化; -p:對映埠;訪問宿主機的5000埠就訪問到registry容器的服務了 --restart=always: 這是重啟的策略,在容器退出時總是重啟容器 --name registry: 建立容器命名為registry registry:latest:這個是剛才pull下來的映象 ==================================================== Docker容器的重啟策略如下: no:預設策略,在容器退出時不重啟容器 on-failure: 在容器非正常退出時(退出狀態非0),才會重啟容器 on-failure:3 :在容器非正常退出時重啟容器,最多重啟3次 always: 在容器退出時總是重啟容器 unless-stopped: 在容器退出時總是重啟容器,但是不考慮在Docker守護程序啟動時就已經停止了的容器 #為映象打標籤 docker tag centos:7 192.168.80.10:5000/centos:v1 #上傳到私有倉庫 docker push 192.168.80.10:5000/centos:v1 #列出私有倉庫的所有映象 curl http://192.168.80.10:5000/v2/_catalog #出私有倉庫的centos映象有哪些tag curl http://192.168.80.10:5000/v2/centos/tags/list #先刪除原有的centos的映象,再測試私有倉庫下載 docker rmi -f 8652b9f0cb4c docker pull 192.168.80.10:5000/centos:v1
1、首先下載registry 映象
Docker 官方提供了一個搭建私有倉庫的映象 registry (註冊伺服器),只需把映象下載下來,執行容器並暴露5000埠,就可以使用了
目前Docker Registry已經升級到了v2,最新版的Docker已不再支援v1。Registry v2使用Go語言編寫,在效能和安全性上做了很多優化,
重新設計了映象的儲存格式。如果需要安裝registry v2,只需下載registry:2.2即可。Docker官方提供的工具docker-registry可以用於構建私有的映象倉庫
docker pull registry
2、在daemon.json檔案中新增私有映象倉庫地址
vim /etc/ docker/daemon.json
{
"registry-mirrors": ["https://qn26bytm.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.237.20:5000"]
}
3、執行 registry 容器
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
4、為映象打標籤
docker tag centos:7 192.168.237.20:5000/centos:v1
5、上傳到私有倉庫
docker tag centos:7 192.168.237.20:5000/centos:v1
6、列出私有倉庫的所有映象
curl http://192.168.237.20:5000/v2/_catalog
7、列出私有倉庫的centos映象有哪些tag
curl http://192.168.237.20:5000/v2/centos/tags/list
8、先刪除原有的centos的映象,再測試私有倉庫下載
docker rmi -f 192.168.237.20:5000/centos:v1
docker pull 192.168.237.20:5000/centos:v1