docker 資料卷和資料卷容器

2021-10-03 02:41:01 字數 3477 閱讀 3941

docker 資料管理:

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

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

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

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

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

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

資料卷(data volumes)

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

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

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

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

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

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

資料卷相關操作

1、建立資料卷

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

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

在 _data 下建立乙個.txt 檔案 ,加入內容 mysql version 1

2、檢視所有的資料卷

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

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

掛載資料卷,最好是通過run而非create/start建立啟動容器

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

這裡有兩種方式掛載:

1 使用 docker volume create 建立資料卷,進行掛載

修改 在容器中 mysql.txt 檔案類容,宿主機裡的資料也會發生改變

宿主機中的 mysql.txt

2.不使用命令建立資料卷進行掛載

在宿主機中建立 目錄 myhyf/data/redis.txt

2.輸入命令

資料:

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

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

注2:source=my-vol,target=

my-vol為要掛載的資料卷,如果資料卷不存在,docker會自動建立

注3:mount選項高階用法

--mount選項的type引數支援三種型別的資料卷

--mount標誌:由多個名值對組成,逗號分隔,每個鍵值由

=元組組成

1.type=volume普通資料卷(預設即這種型別),對映到主機/var/lib/docker/volumes路徑下;

--mount type=volume,source=my-vol,target=

注:這是type的預設值

2.bind:繫結資料卷,對映到主機指定路徑下;

--mount type=bind,source=

3.tmpfs :臨時資料卷,只存在於記憶體中

docker run -d \

-it \

--name tmptest \

--mount type=tmpfs,destination=

nginx:latest

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

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

1.新建資料卷容器進入容器 在db_data目錄下建立乙個tomcat.txt,檔案裡的資料為 tomcat 1

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

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

建立db1

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

7

建立db2

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

7

db1 容器中

在db1容器 修改tmcat.txt 檔案中的值 ,取db2容器中檢視–

db2容器

Docker資料卷和資料卷容器

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

Docker資料卷和資料卷容器

宿主機目錄 var www 掛載容器中的 data1 佔宿主機記憶體 docker run v var www data1 name web1 it centos 7 bin bash root 601b1b8a4835 ls data1 root 601b1b8a4835 cd data1 roo...

Docker (五) 資料卷和資料卷容器

一 介紹 資料卷是乙個可供乙個或多個容器使用的特殊目錄,可以提供很多有用的特性 資料卷容器其實就是乙個普通的容器,只是專門用來提供資料卷,供其他的容器掛載。推薦優先使用資料卷容器。二 建立和使用資料卷 1.資料卷 v 在用 docker run 命令的時候,使用 v 標記來建立乙個資料卷並掛載到容器...