掛載主機檔案系統

Docker 中級

Mike Metzger

Data Engineer

容器檔案系統

  • 每個容器執行個體都有自己的檔案系統
    • 來源是建立容器所用的映像
  • 任何變更都綁定在該執行個體
  • 重新啟動後仍會保留變更
    • 只限於該執行個體
  • 新容器只有映像內的資料,不含執行個體的變更

容器檔案系統

Docker 中級

分享檔案或目錄

  • 可將特定檔案或目錄附加到容器
  • 讓資料可持久化,而不必保留特定容器
  • 可升級容器版本,同時安全保留資料/變更
  • 稱為 bind-mount
  • 可設為唯讀或讀寫
  • 注意:當檔案或目錄附加到容器時,在容器關閉前主機無法存取
Docker 中級

使用 -v 選項

  • bind-mount 最常用 -v 旗標
  • -v <source>:<destination>
  • 可使用多個 -v 指令
  • 也可用 --mount 選項
  • 注意:bind-mount 會「隱藏」目的目錄中既有內容
docker run -v ~/html:/var/www/html \
       nginx
docker run 
       -v ~/pgdata:/opt/data \
       -v ~/pg.conf:/etc/pg.conf \
       postgresql
Docker 中級

一起來練習吧!

Docker 中級

Preparing Video For Download...