Introduction

Image 是靜態的定義,Container 是 Image 運行時的實體

container 運行時會基於 Image,在上頭添加一個當前容器的「容器儲存層」,以儲存執行過程的任何讀寫,並且是可被修改的可寫層。一個 image 可以建立不只一個 container,每個 container 之間都是互相獨立的平台。container 是一個簡易版的 Linux 環境應用程式並可在其中運行程式。當 container 被移除(container rm)此儲存層也會一同被移除。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5d5a7177-bbe3-4a4e-8e6d-03d3770ac0ab/Untitled.png

如果資料不能被移除,可使用 Volume(數據卷,如同容器與宿主環境的共用資料夾)或直接綁定宿主檔案系統目錄/文件。

Container 的實質是程序(process)

只是 Container 這個 process 執行於獨立於宿主的環境,其執行環境即 Image 所提供的,擁有自己的檔案系統、網路配置、用戶ID等等等,以及剛剛提到的執行所需的儲存空間。