1. 程式人生 > >Docker中的鏡像與容器

Docker中的鏡像與容器

容器 mage 構建 create creat root用戶 需要 生命 root

docker的整個生命周期有三部分組成:鏡像(image)+容器(container)+倉庫(repository);

容器是由鏡像實例化而來,這和我們學習的面向對象的概念十分相似,我們可以把鏡像看作類,把容器看作類實例化後的對象。

docker 的鏡像概念類似虛擬機的鏡像。是一個只讀的模板,一個獨立的文件系統,包括運行容器所需的數據,可以用來創建新的容器。( docker create <image -id > :為指定的鏡像添加一個可讀寫層,構成一個新的容器;)

例如:一個鏡像可以包含一個完整的ubuntu操作系統環境,裏面僅安裝了mysql或用戶需要的其他應用程序。

docker鏡像實際上是由一層一層的系統文件組成,這種層級的文件系統被稱為UnionFS( Union file system 統一文件系統),鏡像可以基於dockerfile構建,dockerfile是一個描述文件,裏面包含了若幹條密令,每條命令都會對基礎文件系統創建新的層次結構。

docker提供了一個很簡單的機制來創建鏡像或更新現有的鏡像。用戶甚至可以從其他人那裏下載一個已經做好的鏡像直接使用。(鏡像是只讀的,可以理解為靜態文件)

docker利用容器來運行應用:docker容器是由docker鏡像創建的運行實例。docker容器類似虛擬機,可以執行包含啟動,停止,刪除等。每個容器間是相互隔離的。容器中會運行特定的運用,包含特定應用的代碼及所需的依賴文件。可以把容器看作一個簡易版的linux環境(包含root用戶權限,進程空間,用戶空間和網絡空間等)和運行在其中的應用程序。

相對於鏡像來說容器是動態的,容器在啟動的時候創建了一層可寫層次作為最上層。( docker create <image -id > :為指定的鏡像添加一個可讀寫層,構成一個新的容器;)

Docker中的鏡像與容器