首頁 > 運維 > Docker > docker鏡像倉庫有什麼用

docker鏡像倉庫有什麼用

WBOY
發布: 2022-07-28 16:14:52
原創
2915 人瀏覽過

在docker中,鏡像倉庫的主要作用是存放和分發docker映像;鏡像倉庫是幾種存放映像的地方,映像倉庫可以分為遠端倉庫和本地倉庫兩種,遠端倉庫可以理解成雲端倉庫、公有倉庫,是某個組織、公司維護的倉庫,本地倉庫可以理解為私有倉庫,不對外開放。

docker鏡像倉庫有什麼用

本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker映像倉庫有什麼用

映像,可以理解為將應用程式和運行環境打包成“應用模板”,是容器的上層抽象。容器是鏡像的運行實例,啟動時傳入對應的參數,即可運行應用程式。二者的關係類似程式碼中的「類別和物件」。

要以容器的方式運行應用程序,需要先製作鏡像,在鏡像中指定應用程式的運行環境、啟動方式等信息,然後生成鏡像、上傳到鏡像倉庫中。後續要執行這個應用程式時,就會從鏡像倉庫中拉取這個鏡像、然後以容器的方式運作。只要作業系統支援容器運行,就可以運行這個應用程序,屏蔽了環境差異,使部署運行變得簡潔。

鏡像倉庫可分為2種:

  • 遠端倉庫:可以理解成雲端倉庫、公有倉庫,是由某個組織、公司維護的倉庫,對網路開放,所有人分享。如官方的倉庫; 

  • 本地倉庫:可以理解為公司的私有倉庫,不對外開放。一般只在公司內部網路使用,用於加快鏡像拉取速度、維護公司資產。

目前 Docker 官方維護了一個公共倉庫Docker Hub ,大部分需求都可以通 過在 Docker Hub 中直接下載映像來實現。如果你覺得拉取 Docker Hub 的鏡像比較慢的話,我們可以配置一個鏡像加速器,當然國內大部分雲廠 商都提供了相應的加速器,簡單配置即可。

鏡像是docker的基礎,我們可以從docker.hub官方共有的倉庫去拉取鏡像,也可以自己去建立自己的私有倉庫

擴展知識

搭建鏡像倉庫

首先,下載Registry鏡像並啟動

docker pull registry
登入後複製

然後,執行一個Registry鏡像倉庫的容器實例

最後,在客戶端查看鏡像倉庫中的所有鏡像

curl http://your-server-ip:5000/v2/_catalog
登入後複製

#上傳鏡像

首先,為了讓客戶端伺服器能夠快速地存取剛剛在服務端搭建的鏡像倉庫(預設情況下是需要設定HTTPS憑證的),這裡簡單在客戶端配置一下私有倉庫的可信任設定讓我們可以透過HTTP直接存取:

vim /etc/docker/daemon.json
登入後複製

加上下面這一句,這裡的「your-server-ip」請換為你的伺服器的外網IP位址:

{
"insecure-registries" : [ "your-server-ip:5000" ]
}
登入後複製

PS:如果不設定可信任來源,又沒有設定HTTPS證書,那麼會遇到這個錯誤:error: Get https://ip:port/v1/_ping: http: server gave HTTP response to HTTPS client.

為了使得設定生效,重新啟動docker服務:# systemctl restart docker

其次,為要上傳的鏡像打Tag

docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname
登入後複製
最后,开始正式上传镜像到服务端镜像仓库
docker push your-registry-server-ip:5000/your-image-name:tagname
登入後複製

下載鏡像

下載鏡像就很簡單了,使用pull指令即可:

docker pull your-server-ip:5000/your-image-name:tagname
登入後複製

如果想要知道要下載的映像有哪些tag(或版本),可以透過下面這個api來取得:

curl http://your-server-ip:5000/v2/your-image-name/tags/list
登入後複製

推薦學習:《docker影片教學

以上是docker鏡像倉庫有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板