docker 容器(Container)
作業系統虛拟化 docker
Docker的優勢:
1、更高效的利用系統資源
由于容器不需要進行硬體虛拟化及運作完整作業系統額外開銷,Docker對系統資源使用率更高
2、更快速的啟動時間
傳統的虛拟機技術啟動應用一般需要數分鐘,而Docker容器由于直接運作在主控端核心,可以做到 秒極的啟動
3、提供一緻的運作環境(開發環境)
可避免因主機系統、應用環境的不同導緻程式bug不能及時找出的問題
對比傳統虛拟機對比
容器 虛拟機
啟動 秒級 分鐘級
硬碟使用 一般為 MB 一般為 GB
性能 接近原生 弱于
系統支援量 單機支援上千個容器 一般幾十個
Docker基本概念
1、鏡像 Image
Docker鏡像是一個特殊的檔案系統,除了提供容器運作時所需的程式、庫、資源、配置等檔案外,還包含了一些為運作時準備的一些配置參數(如匿名卷、環境變量、使用者等)。鏡像不包含任何動态資料(/proc, /sys),其内容在建構之後也不會被改變。
分層存儲
因為鏡像包含作業系統完整的 root 檔案系統,其體積往往是龐大的,是以在 Docker 設計時,就充分利用 Union FS聯合檔案系統的技術,将其設計為分層存儲的架構。是以嚴格來說,鏡像并非是像一個 ISO 那樣的打封包件,鏡像隻是一個虛拟的概念,其實際展現并非由一個檔案組成,而是由一組檔案系統組成,或者說,由多層檔案系統聯合組成
2、容器 Container
3、倉庫 Repository
鏡像建構完成後,可以很容易的在目前宿主上運作,但是,如果需要在其它伺服器上使用這個鏡像,我們就需要一個集中的存儲、分發鏡像的服務,Docker Registry 就是這樣的服務。
類型:
公有倉庫 www.docker.com
私有倉庫 公司建立
鏡像名稱格式:
<repository>/<image>:<TAG>
docker.io/centos:latest
一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個标簽(Tag);每個标簽對應一個鏡像。
通常,一個倉庫會包含同一個軟體不同版本的鏡像,而标簽就常用于對應該軟體的各個版本。我們可以通過 <倉庫名>:<标簽> 的格式來指定具體是這個軟體哪個版本的鏡像。如果不給出标簽,将以 latest 作為預設标簽。
本文轉自 北冥有大魚 51CTO部落格,原文連結:http://blog.51cto.com/lyw168/1957367,如需轉載請自行聯系原作者