Docker資料管理

2021-09-24 05:47:34 字數 2194 閱讀 9165

1.什麼是資料卷

​ 就是將宿主機的某個目錄,對映到容器中,作為資料儲存的目錄,我們就可以在宿主機對資料進行儲存

​ 資料卷(data volumes):容器內資料直接對映到本地主機環境

2.資料卷特性

1)資料卷可以在容器之間共享和重用,本地與容器間傳遞資料更高效;

2)對資料卷的修改會立馬有效,容器內部與本地目錄均可;

3)對資料卷的更新,不會影響映象,對資料與應用進行了解耦操作;

4)捲會一直存在,直到沒有容器使用。

3.資料卷與目錄

docker run -itd --name 【容器的名字】 -v 【宿主機目錄】:【容器目錄】 【依賴映象】【命令可選】

docker run -itd --name tmp-nginx -v /home/itcast/tmp/:/tmp-text/  nginx
4.資料卷與檔案(不推薦)

注意:1、docker掛載資料卷的預設讀寫許可權(rw),使用者可以通過ro設定為唯讀,格式:[宿主機檔案]:[容器檔案]:ro

2、如果直接掛載乙個檔案到容器,使用檔案工具進行編輯,可能會造成檔案的改變,從docker1.1.0起,這會導致報錯誤資訊。所以推薦的方式是直接掛在檔案所在的目錄。

docker run -itd --name 【容器的名字】 -v 【宿主機檔案】:【容器檔案】 【依賴映象】【命令可選】

docker run -itd --name tmp-txt -v /home/itcast/tmp/hello.go:/nihao/nihao.sh  nginx
5.資料卷容器

5.1.建立乙個資料卷容器

docker create -v 【容器資料卷目錄】 --name 【容器名稱】 【依賴的映象名稱 】【命令可選】

docker create -v /data-tmp  --name v-tmp   nginx
5.2.建立兩個容器,同時掛載資料卷容器

docker run --volumes-from【資料卷容器的id或名字】-itd --name 【容器名字】【映象名字】【引數可選】

docker run --volumes-from  v-tmp  -itd  --name tmp01  nginx
docker run --volumes-from  v-tmp  -itd  --name tmp02  nginx
6.docker資料備份

流程:1)建立乙個掛在資料卷容器的容器

2)掛在宿主機本地目錄作為備份資料卷

3)將資料卷容器的內容備份到宿主機本地目錄掛載的資料卷中

4)完成備份操作後銷毀剛剛建立的容器

docker run --rm --volumes-from [資料卷容器id/name] -v [宿主機目錄]:[容器目錄] [映象名稱] [備份命令]

docker run  --rm --volumes-from  v-tmp  -v /home/itcast/backup/:/backup/  nginx  tar -zcpf /backup/data.tar.gz  /data-tmp
-p:使用原檔案的原來屬性(屬性不會依據使用者而變),恢復欄位到它們的原始方式,忽略現有的使用者許可權遮蔽位(umask)。 加了-p之後,tar進行解壓後,生成的檔案的許可權,是直接取自tar包裡面檔案的許可權(不會再使用該使用者的umask值進行運算),那麼不加-p引數,將還要再減去umask的值(位運算的減),但是如果使用root使用者進行操作,加不加-p引數都一樣。

7.docker資料還原

流程:1)建立乙個新的資料卷容器(或刪除原資料卷容器的內容)

2)建立乙個新容器,掛載資料卷容器,同時掛載本地的備份目錄作為資料卷

3)將要恢復的資料解壓到容器中

4)完成還原操作後銷毀剛建立的容器

docker run --rm -itd --volumes-from [資料要到恢復的容器] -v [宿主機備份目錄]:[容器備份目錄] [映象名稱] [解壓命令]

docker run --rm --volumes-from  v-tmp  -v /home/itcast/backup/:/backup/  nginx tar xpf /backup/data.tar.gz  -c /data-tmp

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