1. 程式人生 > >docker-4.數據管理

docker-4.數據管理

clas data pan mes 容器 一個 只讀 存在 class

數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過文件系統,可以提供很多有用的特性:

  • 數據卷可以在容器之間共享和重用
  • 對數據卷的修改會立馬生效
  • 對數據卷的更新,不會影響鏡像
  • 數據卷默認會一直存在,即使容器被刪除

掛載一個主機目錄作為數據卷

把主機/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.數據管理