有關Docker容器架構


title: 有關Docker容器架構
date: 2019-04-08
tags: Docker

有關Docker容器架構

在這裏插入圖片描述

Docker客戶端與服務器
Docker是一個客戶端-服務器的(C/S)架構程序,Docker的客戶端只需要向Docker服務器或者守護進程發出請求,服務器或者守護進程將完成所有工作並返回結果。Docker提供了一個命令行工具和一整套RESTful API。你可以在同一臺主機上運行Docker守護進程和客戶端,也可以從本地的Docker客戶端連接到運行在另一臺宿主機上的遠程Docker守護進程。
在這裏插入圖片描述

Docker鏡像
鏡像(Image)是Docker中的一個模板。通過Docker鏡像來創建Docker容器,一個鏡像可以創造出多個容器。鏡像是由一系列指令一步一步構建出來,例如:

  1. 添加一個文件
  2. 執行一個命令
  3. 打開一個窗口

j鏡像與容器的關係類似於java中類與對象的關係鏡像體積很小,非常“便攜”,易於分享,存儲和更新。

Docker Java
鏡像
容器 對象
class Emp{} //鏡像:
Emp e1 = new Emp(); //容器1
Emp e2 = new Emp(); //容器2

Docker容器
容器(Container)是基於鏡像創建的運行的實例,一個容器中可以運行一個或者多個應用程序(jdk+開發的java應用程序)。
Docker可以幫助你構建和部署容器,你只需要把自己的應用程序或者服務打包放進容器即可。
可以認爲,鏡像是Docker生命週期的構建或者打包階段,而容器則是啓動或者執行階段。
可以理解容器中有包含:一個精簡版的Linux環境+要運行的應用程序

Docker倉庫
倉庫(Repository)是集中存放鏡像文件的場所。
有時候會把倉庫(Repository)和倉庫註冊服務器(Registry)混爲一談,但並不嚴格區分。實際上,倉庫註冊服務器上往往存放着多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標籤(tag)。
倉庫分爲公有倉庫(Public)和私有倉庫(Private)兩種。
Docker公司運營的公共倉庫叫做 Docker Hub (https://hub.docker.com/),存放了數量龐大的鏡像供用戶下載。用戶可以在Docker Hub註冊賬號,分享並保存自己的鏡像。(說明:在Docker Hub下載鏡像巨慢)
國內的公有倉庫包括阿里雲 、網易雲 等,可以提供大陸用戶更穩定快速的訪問。
當用戶創建了自己的鏡像之後就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。
Docker 倉庫的概念跟 Git 類似,註冊服務器可以理解爲 GitHub 這樣的託管服務。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章