容器中管理資料有兩種方式
一、資料卷
資料卷是乙個可供容器使用的特殊目錄,它繞過檔案系統,可以提供很多有用的特性:
1.資料卷可以在容器之間共享和重用
2.對資料卷的修改會立馬生效
3.對資料卷的更新,不會影響映象
4.捲會一直存在,直到沒有容器使用
(2)、掛載乙個主機目錄作為資料卷
使用-v標記也可以指定掛載乙個本地已有的目錄到容器中去作為資料卷:
下面的命令將載入資料的/tmp/web目錄到容器的/ubuntu/web目錄
docker run -d
-p--name web1 -v /tmp/web1:/ubuntu/web1 ubuntu
docker掛載資料卷的預設許可權是讀寫(rw),使用者也可以通過,ro指定為唯讀
docker run -d
-p--name web2 -v /tmp/web2:/ubuntu/web2:ro ubuntu
加了:ro之後,容器內掛載的資料卷的資料就無法修改了
二、資料卷容器
如果使用者需要在容器之間共享一些持續更新的資料,最簡單的方式是使用資料卷容器。
資料卷容器其實就是乙個普通的容器,專門用它提供資料卷供其他容器掛載。
(1)、建立資料卷容器,並在其中建立乙個資料卷掛載到/dbdata,然後在其他容器中使用–volumes-from來掛載dbdata容器中的資料卷
docker run -it
--volumes-from container1 --name container2 192.168.0.216:5000/ubuntu
docker run -it
--volumes-from container1 --name container3 192.168.0.216:5000/ubuntu
可以看到剛建立的三個容器,並且container1和2都掛載同乙個資料捲到/dbdata目錄。三個容器任何一方在該目錄下的寫入,其他容器都可以看到
970056a8101f 192.168
.0.216:5000/ubuntu:latest "/bin/bash"
3 hours ago up
3 hours container2
f6900d9f719b 192.168
.0.216:5000/ubuntu:latest "/bin/bash"
3 hours ago up
3 hours container1
8277e088b5f6 192.168
.0.216:5000/ubuntu:latest "/bin/bash"
3 hours ago up
3 hours container_maste
(2)備份和還原
這邊我建立三個容器,file bak restore
file先儲存資料檔案
bak則進行tar打包備份
restore容器將bak中的tgz包還原回來
docker run -d -it --name file -v /file 192.168
.0.216:5000/tomcat
docker run -d -it --name bak -v /bak 192.168
.0.216:5000/tomcat
docker run -d -it --name restore -v /restore 192.168
.0.216:5000/tomcat
[root@docker ~]#ls
get_logs.sh kernel-ml-aufs-3.10
.5-3.el6.x86_64.rpm kernel-ml-aufs-devel-3.10
.5-3.el6.x86_64.rpm ***
[root@docker ~]#cp -rf * /file/
[root@docker ~]#tar zcf /bak/backup.tgz /file/
[root@docker ~]#tar zxf /bak/backup.tgz -c /restore/
[root@docker ~]#ls /restore/file/
get_logs.sh kernel-ml-aufs-3.10
.5-3.el6.x86_64.rpm kernel-ml-aufs-devel-3.10
.5-3.el6.x86_64.rpm ***
[root@docker ~]#
Docker 資料管理
1.在容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷資料卷是乙個可供乙個或多個容器使用的特殊目錄,它繞過 ufs,可以提供很多有用的特性 資料卷可以在容器之間共享和重用 對資料卷的修改會立馬生效 對資料卷的更新,不會影...
Docker 資料管理
容器中管理資料主要有兩種方式 1 資料卷 data volumes 容器內的資料直接對映到宿主機,也就是使用宿主機的目錄作為根目錄,容器裡的目錄對映到根目錄,如下例1 2 資料卷容器 data volume containers 使用特定的容器維護資料卷,也就是使用乙個容器的目錄作為根目錄,另乙個容...
Docker資料管理
使用docker過程中,需要能檢視容器內應用產生的資料,或需要將容器內的資料進行備份,甚至在多個容器之間進行資料的共享,這些都將涉及容器資料管理的操作 容器中管理資料主要的兩種形式 1 資料卷 data volumes 2 資料卷容器 data volume containers 1 資料卷 資料卷...