Docker資料卷實現資料共享

2021-10-12 17:25:13 字數 3106 閱讀 1798

前言:

docker 資料管理

在生產環境中使用 docker ,往往需要對資料進行持久化,或者需要在多個容器之間進行

資料共享,這必然涉及容器的資料管理操作

容器中的管理資料主要有兩種方式:

資料卷 data volumes 容器內資料直接對映到本地主機環境;

資料卷容器(data volume containers 使用特定容器維護資料卷

當然還有最原始的copy方式,這個也是管理資料的方式,但是基本不會用到;

最原始的copy方式管理資料:

演示

宿主機目錄

宿主機檔案 copy to 容器內

docker cp 需要拷貝的檔案或者目錄 容器名稱:容器目錄

例項:docker cp bbb.text d1eb3b31fa27:/myaaa

容器內 copy to 宿主機

docker cp 容器名稱/容器id:容器目錄 宿主機目錄

例項:docker cp d1eb3b31fa27:/myaaa/aaa.text /liuchunming

資料卷(data volumes)

資料卷是乙個可供乙個或多個容器使用的特殊目錄,它將主機作業系統目錄直接對映進容器,

它可以提供很多有用的特性:

1.資料卷 可以在容器之間共享和重用

2.對資料卷的修改會立馬生效

3.對資料卷的更新,不會影響映象

4.資料卷 缺省會一直存在,即使容器被刪除

資料卷相關操作

1.建立資料卷

docker volume create my-vol

此時,資料卷缺省會放到/var/lib/docker/volumes路徑下,會發現所新建的資料卷位置,檢視命令如下:

##引數可以為數字「1」,字母l:大小寫均可,但效果不一樣

2.檢視所有的資料卷

3.檢視指定資料卷的詳細資訊(顯示乙個json格式的資料)

docker volume inspect my-vol

4.刪除乙個volume

docker volume rm my-vol##掛載資料卷,最好是通過run而非create/start建立啟動容器

##create/start命令建立啟動容器後,再掛載資料卷相當麻煩,要修改很多配置檔案,但並非不可以

5.啟動乙個掛載資料卷的容器

再測試一下,容器裡修改,宿主機會不會同步修改

注1:linux命令結尾加斜槓有什麼用

加了「\」意為將最後的回車換行給注釋了,系統理解為命令還沒有結束,因而是繼續等待使用者進行輸入,直到讀到結束符,如回車

資料卷容器與資料卷的區別就是、資料卷是存在於宿主機目錄上的、資料卷容器是在容器裡

資料卷容器

如果使用者需要在多個容器之間共享一些持續更新的資料,最簡單的方式是使用資料卷容器。

資料卷容器也是乙個容器,但是它的目的是專門提供資料卷給其他容器掛載

資料卷容器相關操作

1.新建資料卷容器

注:-v 後面接的共享資料真實存放路徑

2.用容器db1、db2測試資料卷容器是否可用

docker run -di --name db1 --volumes-from db_data centos:latest

docker run -di --name db2 --volumes-from db_data centos:latest

效果:上面例子中db1、db2通過db_data來共享了資料

Docker 資料卷 資料卷容器

一,概念解析 1,資料卷 資料卷就是在宿主中可以在容器之間進行共享和重用的一系列和檔案和資料夾,通過docker run v命令可以將資料卷掛載到對應的容器目錄空間,進行檔案讀取,容器卷特性如下 資料卷可以在容器之間共享和重用,容器間傳遞資料將變得高效方便 對資料卷內資料的修改會立馬生效,無論是容器...

Docker資料卷和資料卷容器

在容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷 資料卷是乙個可提供乙個或多個容器使用的特殊目錄,它繞過ufs unix檔案系統 可以提供很多有用的特性 資料卷可以在容器之間共享和使用 對資料卷的修改會立馬生效 對資料...

docker 資料卷和資料卷容器

docker 資料管理 在生產環境中使用 docker 往往需要對資料進行持久化,或者需要在多個容器之間進行 資料共享,這必然涉及容器的資料管理操作 容器中的管理資料主要有兩種方式 資料卷 data volumes 容器內資料直接對映到本地主機環境 資料卷容器 data volume contain...