1. 程式人生 > 實用技巧 >docker 建立私有倉庫

docker 建立私有倉庫

介紹

本文介紹docker 如何建立私有倉庫,如何將本地映象 push 到私有倉庫,如何檢視私有倉庫的映象,如何從私有倉庫中Pull 映象等。本次採用windows docker 來演示(採用 linux 系統CentOS 中的dockder 也類似 )。

必備條件

  1. 兩臺裝有docker的主機:我這裡採用兩臺裝有docker的windows server 2019。如果是採用linux系統CentOS也類似。
  2. Registry倉庫映象:其中一臺docker主機pull Registry 映象,用做倉庫。docker hub的registry映象預設版本為 v2.x,地址為 https://registry.hub.docker.com/_/registry
  3. 兩臺docker 主機,能相互通訊。

建立倉庫

1.在用作倉庫的docker 主機上,執行基於Registry映象的倉庫容器,建立私有倉庫。

  `docker run -d -p 5000:5000 --restart always --name FyyRegistry registry`

檢視容器執行情況:

至此,則私有倉庫建立完畢,接下來,開始將映象上傳至本地倉庫。

上傳映象到私有倉庫

建立私有倉庫後,就可以將從其他地方獲取的映象,或者自己構建的映象,上傳至自己的私有倉庫

1.給映象打標籤,以為我本地j映象 my-asp-app 為例演示:

docker image tag my-asp-app 127.0.0.1:5000/my-asp-app:v1

其中,my-asp-app 是我本地映象,127.0.0.1:5000/my-asp-app:v1 是我根據映象,重新打的tag。可以看出,這是一個URL地址。其實,每個映象的倉庫,都是一個URL地址,簡寫的映象地址,如 my-asp-app,它的完整URL字首是docker hub 官網。
檢視重新打標籤的映象如下:

2.上傳映象到私有倉庫

docker push 127.0.0.1:5000/my-asp-app:v1

docker push後,映象就會存在私有倉庫了。可檢視私有倉庫的映象:

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

pull 私有倉庫映象

在一臺docker 主機建立私有映象倉庫,並上傳映象後。在另一臺docker主機,就可以pull私有倉庫的映象了。
1.修改daemon配置:


登入另一臺主機,修改daemon.json配置檔案,新增 "insecure-registries": ["172.20.111.164:5000"]
說明:其中172.20.111.164是建立docker 倉庫的主機地址。daemon.json檔案位置為 C:\ProgramData\docker\config,如果daemon.json不存在,則手動建立。建立之後,重啟docker。

重啟docker,檢視是否生效:

2.pull 私有倉庫映象:
docker pull 172.20.111.164:5000/my-asp-app:v1