docker 資料管理

2021-09-23 23:27:33 字數 2413 閱讀 1179

容器中管理資料有兩種方式

一、資料卷

資料卷是乙個可供容器使用的特殊目錄,它繞過檔案系統,可以提供很多有用的特性:

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 資料卷 資料卷...