Docker 中registry私有倉庫的搭建使用

2021-10-17 14:45:38 字數 3917 閱讀 2197

容器映象倉庫是一種儲存庫(或儲存庫集合),用於儲存 kubernetes、devops 和基於容器的應用開發的容器映象。 倉庫分為兩種型別:公共和私有。在docker執行過程中預設使用的就是docker官方的公共倉庫docker hub,上傳時需要登陸。私有倉庫分為官方私有倉庫(需要付費)和自己搭建的私人倉庫。

1、登陸自己在docker hub上註冊的賬號。

docker login
2、docker hub 為了區分不同使用者的映象,要求映象的命名格式為[username]/***:『tag』。所以需要將想要上傳的映象名字更改為符合要求的形式。

docker tag busybox:latest yangchenqi/busybox:latest
3、將映象上傳到我的官方公共倉庫中

docker push yangchenqi/busybox:latest
4、從docker hub上拉取自己上傳的映象

docker pull yangchenqi/busybox:latest
5、需要刪除倉庫中的映象時,可以登陸docker hub官方**,在web介面上操作。

registry由index、registry、registry client三部分組成。

push image的流程和pull image的流程相似。

官方參考文件

docker pull registry

docker history registry:latest #檢視埠、卷等資訊

docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry

-p 指定埠對映,-v指定掛載卷(不存在會自動建立)2、上傳映象並檢視資訊(push時系統並不知道預設倉庫在哪,所以需要在修改名字的時候直接將該資訊告訴映象系統)

docker tag webserver:latest localhost:5000/webserver:latest #改名

docker push localhost:5000/webserver #上傳

curl localhost:5000/v2/_catalog #檢視倉庫中有多少映象

3、其他在內網中的虛擬機器是無法pull我們上傳到本地的映象的。如果我們在內網中對於安全沒有很高的要求,我們可以在其他虛擬機器上配置.json檔案就可以在其他內網中的虛擬機器上pull我們上傳到本地的映象了。

#在一台新虛擬機上安裝docker

cd /etc/docker/

vim daemon.json

#位址指向我們上傳映象的那台虛擬機器位址

4、倉庫加密認證

將名字改稱 reg.westos.org,並做好解析(統一方便之後步驟使用)。

mkdir /etc/docker/certs.d/reg.westos.org/ -p

cp certs/westos.org.crt /etc/docker/certs.d/reg.westos.org/ca.crt

docker run -d --name registry \

-p 443:443 \

-v /opt/registry:/var/lib/registry \

-v "$(pwd)"/certs:/certs \ #絕對路徑,將本地的certs掛載到容器中的certs

-e registry_http_tls_certificate=/certs/westos.org.crt \ #載入證書

-e registry_http_tls_key=/certs/westos.org.key \ #載入金鑰

registry

docker tag game2048:latest reg.westos.org/game2048:latest #改名

docker push reg.westos.org/game2048:latest #上傳

在生產環境中無法達到使用要求,內容功能不夠豐富,也缺少圖形化介面,需要繼續完善。

docker私有倉庫registry

環境 centos linux release 7.6.1810 docker 18.09.5 ce docker pll registry 2.使用倉庫映象啟動registry容器 docker run dit name registry v registry var lib registry n...

Docker安裝部署Registry

一,部署registry d 是後台啟動容器。p 將容器的 5000 埠對映到 host 的 5000 埠。5000 是 registry 服務埠。v 將容器 var lib registry 目錄對映到 host 的 myregistry,用於存放映象資料。上傳到本地的映象儲存在 myregist...

docker 搭建私有registry

匯入匯出映象比較麻煩,共享映象佔了工作中一大部分時間.搭建了個本地registry,不支援使用者名稱密碼驗證的 和 支援使用者名稱密碼驗證的兩種.docker run d p 5000 5000 v data docker registy var lib registry registry 2 ca...