1 數據卷
1.1 思考
- Docker容器刪除后,在容器中產生的數據還在嗎?
- Docker容器和外部機器可以直接交換文件嗎?
- 容器之間能進行數據交互?
1.2 數據卷概念
- 數據卷是宿主機中的一個目錄或文件。
- 當容器目錄和數據卷目錄綁定后,對方修改會立即同步。
- 一個數據卷可以同時被多個容器同時掛載。
- 一個容器也可以被掛載多個數據卷。
1.3 數據卷作用
- 容器數據持久化。
- 外部機器和容器間接通信。
- 容器之間數據交換。
1.4 配置數據卷
1.4.1 命令
docker run ... -v 宿主機目錄(文件):容器內目錄(文件) ...
注意事項:
①目錄必須是絕對路徑。
②如果目錄不存在,則會自動創建。
③可以掛載多個數據卷。
1.4.2 應用示例
1.4.2.1 一個容器掛載一個數據卷
docker run -id --name c1 -v /root/data:/root/data_container centos:7
1.4.2.2 兩個容器掛載同一個數據卷
docker run -id --name c1 -v /root/data:/root/data_container centos:7
docker run -id --name c2 -v /root/data:/root/data_container centos:7
2 數據卷容器
2.1 概念
- 多容器進行數據交換。
- 多個容器掛載同一個數據卷。
- 數據卷容器。
2.2 配置數據卷容器
- 創建啟動c3數據卷容器,使用-v參數設置數據卷。
docker run -id -v /volume --name c3 centos:7
- 創建啟動c1、c2容器,使用--volumes-from參數設置數據卷。
docker run -id --volumes-from c3 --name c1 centos:7
docker run -id --volumes-from c3 --name c2 centos:7