docker搭建私有倉庫

婷婷的橙子發表於2021-11-18

一. 安裝docker

1. docker一鍵安裝命令:

curl -sSL https://get.daocloud.io/docker | sh

2. 啟動docker

systemctl start docker

二. 搭建映象倉庫

拉取Registry私有映象倉庫,在我們本地搭建一個內網的倉庫,避免將一些私密專案暴露在公網,引發不必要的風險

1. 下載Registry映象

docker pull registry

2. 執行Registry映象

docker run -d --name registry -p 5000:5000 -v /storage/registry:/tmp/registry registry

3. 檢視映象倉庫中的所有映象

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

下圖返回的json資料代表暫無任何倉庫,因為我們還沒有上傳任何映象。

三. 配置倉庫可直接透過http方式訪問

docker預設是傳輸方式使用https協議,我們手頭上沒有sttps證照,所以此處不配置https證照,直接設定可信源,使我們內網可以透過http方式訪問

1. 修改vim /etc/docker/daemon.json,新增以下內容:

沒有daemon.json檔案則新建.

{ 
    "insecure-registries" : [ "your-server-ip:5000" ] 
}

2. 重新載入、重啟docker、啟動映象

systemctl daemon-reload
systemctl restart docker
docker start registry

四. 上傳映象至倉庫

1. 檢視映象

docker images

2. 將要上傳的映象打Tag

docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname

3. 把映象推送到倉庫

docker push your-registry-server-ip:5000/your-image-name:tagname

4.再次驗證是否推送成功

curl http://your-server-ip:5000/v2/_catalog

可以看見{"repositories":["registry"]},說明已經推送成功,有一個registry映象了

五. 客戶端下載映象

現在在本機測試能否下載剛剛上次的映象,如果此處是在另一臺客戶機下載,注意要配置http方式訪問。

1. 修改vim /etc/docker/daemon.json新增以下內容:

{ 
    "insecure-registries" : [ "your-server-ip:5000" ] 
}

2. 重新載入docker

systemctl daemon-reload
systemctl restart docker

3. 下載映象

docker pull 10.168.6.109:5000/registry:latest
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章