docker鏡像倉庫有什么用

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享