數據卷
數據卷是一個可供容器使用的特殊目錄,它將主機操作系統目錄直接映射進容器,類似于Linux中的mount操作。
-
特性
- 數據卷可以在容器之間共享和重用,容器間傳遞數據將變得高效方便;
- 對數據卷內數據的修改會立馬生效,無論是容器內操作還是本地操作;
- 對數據卷的更新不會影響鏡像,解耦了應用和數據;
- 卷會一直存在,直到沒有容器使用,可以安全地卸載它。
掛載主機目錄作為數據卷
docker run -it --name mount1 -v /webapp:/opt/webapp ubuntu
將docker容器中的/opt/webapp
目錄掛載到主機的/webapp
目錄,在容器中/opt/webapp
目錄創建一個文件,退出容器之后,可以在主機/webapp
目錄下看得到
數據卷容器
數據卷容器也是一個容器,但是它的目的是專門用來提供數據卷供其他容器掛載。
- 步驟:
- 先創建一個數據卷容器
docker run -it -v /dbdata --name dbdata ubuntu
- 創建兩個容器,使用這個數據卷容器
docker run -it -volume-from dbdata --name db1 ubuntu
docker run -it -volume-from dbdata --name db2 ubuntu
- 在dbdata中創建一個文件
cd /dbdata && touch test.log
- 在db1和db2中可以看到這個文件
cd /dbdata && ls -al
- 先創建一個數據卷容器