1. 程式人生 > 其它 >Docker 搭建本地私有倉庫

Docker 搭建本地私有倉庫

搭建本地私有倉庫

#首先下載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