溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker怎么構建私有倉庫

發(fā)布時間:2021-09-01 09:36:41 來源:億速云 閱讀:132 作者:chen 欄目:大數(shù)據(jù)

本篇內容介紹了“Docker怎么構建私有倉庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Docker Hub

目前Docker官方維護了一個公共倉庫Docker Hub,其中已經(jīng)包含了數(shù)量超過15000的鏡像。大部分需求都可以通過在Docker Hub中直接下載鏡像來實現(xiàn)。

可以在https://hub.docker.com 免費注冊一個Docker賬號。
在命令行輸入執(zhí)行docker login,輸入用戶名及密碼可以登錄Docker Hub,可以通過docker logout退出登錄。
通過docker search命令可以查找官方倉庫中的鏡像,并利用docker pull命令將鏡像下載到本地。
用戶登錄后也可以通過docker push 命令將自己的鏡像推送到Docker Hub。

私有倉庫

有時候使用Docker Hub這樣的公有倉庫可能不方便,用戶可以創(chuàng)建自己的私有倉庫。

docker-registry是官方提供的工具,可以用于構建私有的鏡像倉庫。
安裝運行docker-registry
可以通過官方registry鏡像來運行。默認情況下,倉庫會被創(chuàng)建在 /var/lib/registry 目錄下。
可以通過 -v 參數(shù)來將鏡像文件放在本地的指定路徑

docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /opt/data/registry:/var/lib/registry \
registry

創(chuàng)建好私有倉庫之后,就可以使用 docker tag 來標記一個鏡像,然后把它推送到倉庫。

先查看本地鏡像:

docker image ls

使用 docker tag 將test-web:latest這個鏡像標記為 127.0.0.1:5000/test-web:latest :

docker tag test-web:latest 127.0.0.1:5000/test-web:latest

使用 docker push 上傳標記的鏡像:

docker push 127.0.0.1:5000/test-web:latest

使用 curl 查看倉庫中的鏡像

curl 127.0.0.1:5000/v2/_catalog

如果可以看到 {“registry”:[“test-web”]} ,表明鏡像已經(jīng)被上傳成功了。

先刪除本地已有的鏡像,再嘗試從私有倉庫下載這個鏡像

docker image rm 127.0.0.1:5000/test-web:latest
docker pull 127.0.0.1:5000/test-web:latest

注意事項:

如果不想用127.0.0.1:5000作為倉庫地址,比如想讓本網(wǎng)段的其他主機也能把鏡像推送到倉庫,當把把倉庫地址改為如192.168.0.101:5000時鏡像還是無法推送成功。這是因為Docker 默認不允許非HTTPS方式推送鏡像,我們可以通過Docker配置選項來取消這個限制。
centos7下可以修改/etc/docker/daemon.json 文件,寫入如下內容:

{
  "registry": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.0.101:5000"
  ]
}

“Docker怎么構建私有倉庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI