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
建立db2docker run -di --name db1 --volumes-from db_data centos:
7
db1 容器中docker run -di --name db2 --volumes-from db_data centos:
7
在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 標記來建立乙個資料卷並掛載到容器...