1.Docker中的數據可以存儲在類似於虛擬機磁盤的介質中,在Docker中稱為數據卷,簡單的理解就是將數據持久化的工具。
2.在使用docker容器的時候,會產生一系列的數據文件,這些數據文件在我們關閉docker容器時是會消失的,但是其中產生的部分內容我們是希望能夠把它給保存起來另作用途的,Docker將應用與運行環境打包成容器發布,我們希望在運行過程鍾產生的部分數據是可以持久化的的,而且容器之間我們希望能夠實現數據共享。通俗地來說,docker容器數據卷可以看成使我們生活中常用的u盤,它存在於一個或多個的容器中,由docker掛載到容器,但不屬於聯合文件系統,Docker不會在容器刪除時刪除其掛載的數據卷。
3.特點:
- 數據卷可以在容器之間共享或重用數據
- 數據卷中的更改可以直接生效
- 數據卷中的更改不會包含在鏡像的更新中
- 數據卷的生命周期一直持續到沒有容器使用它為止
4.docker掛載卷的集中情況
宿主機 | 容器 | 運行結果 |
---|---|---|
文件存在 | 文件不存在 | 掛載成功,容器新增文件 |
目錄存在 | 目錄不存在 | 掛載成功,容器新增目錄 |
文件存在 | 文件存在 | 掛載成功,容器內的文件內容被覆蓋 |
目錄存在 | 目錄存在 | 掛載成功,容器內目錄內容被覆蓋 |
文件存在 | 目錄存在 | 容器啟動失敗 |
目錄存在 | 文件存在 | 容器啟動失敗 |
目錄不存在 | 目錄不存在 | 掛載成功,宿主機和容器內新建此目錄 |
目錄不存在 | 文件存在 | 容器啟動失敗 |
目錄不存在 | 目錄存在 | 掛載成功,容器內目錄內容被覆蓋(空) |
參考:https://yq.aliyun.com/articles/658563