docker-4.數據管理
數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過文件系統,可以提供很多有用的特性:
- 數據卷可以在容器之間共享和重用
- 對數據卷的修改會立馬生效
- 對數據卷的更新,不會影響鏡像
- 數據卷默認會一直存在,即使容器被刪除
掛載一個主機目錄作為數據卷
把主機/data/data目錄掛載到Ubuntu的/home目錄
docker run -it -v /data/data:/home:ro ubuntu
-v標記一個數據卷並掛載到容器裏
docker掛載數據卷的默認權限是讀寫(rw), :ro指定只讀權限
數據卷容器
數據卷容器 , 就是一個普通的容器 ,專門用來提供數據卷供其它容器掛載
創建數據卷容器data,並創建數據卷掛載到/data
docker run -it -v /data --name data ubuntu
root@5e7b3959c104:~# touch /data/test
創建新容器掛載data容器中的數據卷
docker run -it --volumes-from data --name server01 ubuntu
root@b762422e35d4:/data# ls /data/
test
#--volumes-from參數可多次使用
由於
- 數據卷默認會一直存在,即使容器被刪除
刪除與容器關聯的數據卷
docker rm -v data
數據卷備份
創建一個加載data容器卷的容器,並從主機掛載當前目錄到容器的/backup目錄
docker run --volumes-from data -v $(pwd):/backup --name server02-backup ubuntu \
> tar czvf /backup/backup.tar /data/
恢復
創建帶有空數據卷的容器
docker run -v /data --name server03 ubuntu
然後創建另一個容器,掛載 server03 容器卷中的數據卷,並解壓備份文件到掛載的容器卷
docker run --volumes-from server03 -v $(pwd):/backup busybox \
> tar xzvf /backup/backup.tar
驗證:
docker run --volumes-from server03 busybox /bin/ls /data
docker-4.數據管理