Docker - Storage drivers
為了能有效率的使用 storage drivers,一定要先了解 Docker builds 以及 stores images,container如何使用images。
Storage drivers可以允許你在容器可寫入層(container writable layer) 建立資料
但是,在 Storage driver 操作資料,有這些缺點:
- 讀寫效率很差
- 停止運行container之後,這些資料並不會保存
通常會透過 volumes 來保存資料以及改善效能問題
一個 storage driver 負責處理各layer之間的互動
container 與 image 最大的差別就在於頂層可寫入層,在container新增或修改的資料都會存在可寫入層,當container刪除,這個可寫入層就會一併刪除,這底層的 image 則不會影響。
主要是因為每一個 container 都擁有自己的可寫入層,而多個 containers 可以共享同一個 image
例如: 這裡顯示多個 containers 共享同一個 Ubuntu 15.04 image

因此,Storage driver 用來管理 image layers 以及 可寫入層的內容,
雖然所有的 sotrage dirver 處理的方式各有差異,但所有的 driver 使用的都是同樣的 image 堆疊,以及寫入時複製策略(copy-on-write (CoW) strategy)。
可以透過下方指令檢查目前 可寫入層的使用量
寫入時複製策略 copy-on-write (CoW) strategy
若某一個資料位於底層image,
Continue Reading