目錄
1、什麼是Docker?
2、什麼是Docker中的鏡像和容器?
什麼是Docker?
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
一個完整的Docker有以下幾個部分組成:
DockerClient客戶端
Docker Daemon守護進程
Docker Image鏡像
DockerContainer容器
什麼是Docker中的鏡像和容器,以及他們的區別?
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關係類似於面向對象編程中的對象實例與類。
Docker 面向對象
容器=對象實例
鏡像=類
他們的區別:可以參考這篇文章:Docker中鏡像和容器的區別
簡單來說,鏡像是多層只讀層的統一視角,而容器是在鏡像的基礎上加了一個讀寫層的統一視角。即
容器 = 鏡像 + 讀寫層。
此外關於容器的運行狀態:
Running Container Definition
一個運行態容器(running container)被定義爲一個可讀寫的統一文件系統加上隔離的進程空間和包含其中的進程。下面這張圖片展示了一個運行中的容器。
正是文件系統隔離技術使得Docker成爲了一個前途無量的技術。一個容器中的進程可能會對文件進行修改、刪除、創建,這些改變都將作用於可讀寫層(read-write layer)。下面這張圖展示了這個行爲。
Image Layer Definition
爲了將零星的數據整合起來,我們提出了鏡像層(image layer)這個概念。下面的這張圖描述了一個鏡像層,通過圖片我們能夠發現一個層並不僅僅包含文件系統的改變,它還能包含了其他重要信息。
更多信息請看轉載的內容