雲端與容器基礎
在 Docker 中,關於為了保留容器寫入的資料而使用的具名磁碟區(named volume)與繫結掛載(bind mount),下列何者正確?
- A磁碟區放在 Docker 管理的區域,繫結掛載放在主機指定的目錄,兩者在刪除容器後都會保留
- B具名磁碟區的資料在刪除容器後會保留,但繫結掛載的資料在刪除容器時,也會從主機的目錄中一起消失
- C兩者都是作為容器可寫入層的一部分建立,因此以 docker rm 刪除容器時,資料也會一起消失
查看答案與解析
正確答案:A. 磁碟區放在 Docker 管理的區域,繫結掛載放在主機指定的目錄,兩者在刪除容器後都會保留
寫入容器可寫入層的資料,會在刪除容器時一起消失,因此想保留的資料要放在容器之外。具名磁碟區建立在 Docker 管理的區域,在以 docker volume rm 等明確刪除之前都會保留。繫結掛載是讓主機上任意目錄出現在容器內的方法,資料就以主機上的檔案原樣保留。在希望主機上編輯的原始碼立即反映的開發情境常用繫結掛載,像資料庫資料這種想交給 Docker 管理的資料則常用磁碟區。
- A. 正確。放置的位置不同,但兩者都在容器之外,所以會保留。
- B. 繫結掛載的資料就是主機目錄中的檔案本身,所以刪除容器也不會消失。
- C. 兩者都在容器的可寫入層之外,因此刪除容器後仍會保留。