0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

什么是數(shù)據(jù)卷與數(shù)據(jù)卷容器

汽車電子技術 ? 來源:碼農(nóng)與軟件時代 ? 作者:碼農(nóng)與軟件時代 ? 2023-02-20 15:44 ? 次閱讀

容器可以承載微服務,也可以承載數(shù)據(jù)庫,微服務的配置文件,數(shù)據(jù)庫的數(shù)據(jù)文件,都需要持久化,也就是即使容器銷毀了,這些數(shù)據(jù)也需要存在。

一方面可以釆用手工方式用命令行拷貝,在容器很多的情況下,是不可取的。另一方面可以自動保存到宿主機或者遠程存儲上。

容器中將用于存儲的文件目錄稱為卷(Volume),可見容器的存儲便是對目錄的操作。

可以直接將容器目錄映射到主機目錄,稱為數(shù)據(jù)卷;也可以構建專門掛載數(shù)據(jù)卷的容器,稱為數(shù)據(jù)卷容器。

1. docker cp命令

首先啟動名稱為dockervolumtest1的ubuntu環(huán)境,并以/bin/bash方式進入到容器。

root@linux:/home# docker run -it --name="dockervolumtest1" ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
125a6e411906: Pull complete 
Digest: sha256:26c68657ccce2cb0a31b330cb0be2b5e108d467f641c62e13ab40cbec258c68d
Status: Downloaded newer image for ubuntu:latest
root@51d152e09898:/# 進入到容器

再新建dockerdata1.log作為測試文件。

root@51d152e09898:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@51d152e09898:/# cd tmp
root@51d152e09898:/tmp# ls
root@51d152e09898:/tmp# touch dockerdata1.log
root@51d152e09898:/tmp# echo this is docker data test > dockerdata1.log 
root@51d152e09898:/tmp# cat dockerdata1.log 
this is docker data test
root@51d152e09898:/tmp#

使用docker cp命令在主機和容器進行數(shù)據(jù)拷貝。

命令格式:

docker cp 容器ID:/目錄 主機目錄
root@linux:/# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
51d152e09898   ubuntu    "/bin/bash"   4 minutes ago   Up 4 minutes             dockervolumtest1
root@linux:/# docker cp 51d152e09898:/tmp /
root@linux:/# cd tmp
root@linux:/tmp# ls
dockerdata1.log
root@linux:/tmp# cat dockerdata1.log 
this is docker data test
root@linux:/tmp#

2. 數(shù)據(jù)卷

使用docker run命令,并指定-v選項,便可在啟動容器的時掛載數(shù)據(jù)卷;

命令格式1:

docker run -v /宿主機路徑:容器內(nèi)路徑 鏡像名
# 如指定的目錄不存在,系統(tǒng)會自動創(chuàng)建
root@linux:/home# docker run -it --name="volummnttest1" -v /tmp/hostdir:/tmp/dockerdir ubuntu /bin/bash 
root@ae1b5eda679d:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# 新建測試文件volum.log
root@ae1b5eda679d:/# cd /tmp/dockerdir/
root@ae1b5eda679d:/tmp/dockerdir# ls
root@ae1b5eda679d:/tmp/dockerdir# touch volum.log
root@ae1b5eda679d:/tmp/dockerdir# echo this is a volum test > volum.log 
root@ae1b5eda679d:/tmp/dockerdir#

新建命令窗口,查看Host宿主機的文件信息

root@linux:/tmp/hostdir# ll
total 12
drwxr-xr-x  2 root root 4096 May 12 17:12 ./
drwxrwxrwt 16 root root 4096 May 12 17:11 ../
-rw-r--r--  1 root root   21 May 12 17:13 volum.log
root@linux:/tmp/hostdir# cat volum.log 
this is a volum test
root@linux:/tmp/hostdir#

命令格式2:docker run -v 容器內(nèi)路徑 鏡像名

# 不指定主機目錄,系統(tǒng)會默認存儲在/var/lib/docker/volumes/容器ID目錄
root@linux:/tmp/hostdir# docker run -it --name="volummnttest2" -v /tmp/dockerdir2 ubuntu /bin/bash
root@cf7f42544b8f:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@cf7f42544b8f:/# cd /tmp/
root@cf7f42544b8f:/tmp# ls
dockerdir2
root@cf7f42544b8f:/tmp#

新建命令窗口,查看volum2.log的相關信息:

root@linux:/# cd /var/lib/docker/
root@linux:/var/lib/docker# ls
buildkit  containers  image  network  overlay2  plugins  runtimes  swarm  tmp  trust  volumes
root@linux:/var/lib/docker# cd volumes/
root@linux:/var/lib/docker/volumes# ls
9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b  backingFsBlockDev  metadata.db
root@linux:/var/lib/docker/volumes# cd 9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b/
root@linux:/var/lib/docker/volumes/9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b# ls
_data
root@linux:/var/lib/docker/volumes/9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b# cd _data/
root@linux:/var/lib/docker/volumes/9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b/_data# ls
volum2.log
root@linux:/var/lib/docker/volumes/9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b/_data# cat volum2.log 
this is for volum2 test
root@linux:/var/lib/docker/volumes/9c8c17797ea4efdee595d1eea56ea39906b4879fd150a17e5312dc5c6c62851b/_data#

也可通過docker inspect 容器ID,查看詳情

3. 數(shù)據(jù)卷容器

首先啟動容器volumedockertest

root@linux:/# docker run -it --name="volumedockertest" -v volumebase:/tmp/volumbasedata ubuntu /bin/bash
root@2933ebe42b98:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@2933ebe42b98:/# cd tmp
root@2933ebe42b98:/tmp# ll
total 12
drwxrwxrwt 1 root root 4096 May 12 09:50 ./
drwxr-xr-x 1 root root 4096 May 12 09:50 ../
drwxr-xr-x 2 root root 4096 May 12 09:50 volumbasedata/

再啟動容器volumedockertest1,使用--volumes-from參數(shù)繼承的volumedockertest數(shù)據(jù)卷。

root@linux:/# docker run -it --name="volumedockertest1" --volumes-from volumedockertest ubuntu /bin/bash
root@9ee901a1d422:/# ls

新建測試文件:

root@9ee901a1d422:/tmp/volumbasedata# echo this is test add data > basedata.log 
root@9ee901a1d422:/tmp/volumbasedata#

宿主機查看文件

root@linux:~# cat /var/lib/docker/volumes/volumebase/_data/basedata.log 
this is test add data
root@linux:~#
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫

    關注

    7

    文章

    3711

    瀏覽量

    64021
  • 容器
    +關注

    關注

    0

    文章

    490

    瀏覽量

    21986
  • 微服務
    +關注

    關注

    0

    文章

    126

    瀏覽量

    7303
收藏 人收藏

    評論

    相關推薦

    深圳打孔機系統(tǒng),CCD雙頭打孔提高生產(chǎn)效率

    技術中的打孔機在實際使用過程中具有很多的缺陷,例如:現(xiàn)有技術中公開的打孔機一般設置有一個打孔器,打孔器安裝在能夠垂直于帶傳送方向的移進機構上,通過傳動機構將膜帶傳送至打孔位,
    發(fā)表于 05-08 10:17

    深圳對位系統(tǒng),對點對色準確,提高設備印刷品質(zhì)

    印刷機是特印設備中的一個種類,廣泛應用于工業(yè)用品及塑膠、玻璃、金屬片、陶瓷片、電子板等等。絲印原理是通過絲(網(wǎng))印刷的技術,將特定圖案印刷到既定材料表面。現(xiàn)已成為表面特種印刷或裝飾的一種方式
    發(fā)表于 07-20 14:03

    深圳對位系統(tǒng)怎么樣呢?

    深圳印刷機是特印設備中的一個種類,廣泛應用于工業(yè)用品及塑膠、玻璃、金屬片、陶瓷片、電子板等等。絲印原理是通過絲(網(wǎng))印刷的技術,將特定圖案印刷到既定材料表面?,F(xiàn)已成為表面特種印刷或裝飾的一種
    發(fā)表于 09-08 15:59

    深圳CCD雙頭打孔機系統(tǒng)有什么特點?

    如今越來越多的企業(yè)引進全自動打孔機作為定位孔加工的專用設備,取代傳統(tǒng)多人員操作設備,大大節(jié)省成本開支,提高了產(chǎn)品的質(zhì)量,加快生產(chǎn)速度,減少了報廢率,提高了企業(yè)的市場競爭力,是很多企業(yè)密而不宣
    發(fā)表于 10-14 14:21

    計算機程序設計藝術 (含第1,第2,第3 基本算法)

    計算機程序設計藝術 (含第1,第2,第3 基本算法)是國內(nèi)外業(yè)界廣泛關注的7本《計算機程序設計藝術》第1的最新版,以基本的程序設計
    發(fā)表于 10-24 13:50 ?0次下載
    計算機程序設計藝術 (含第1<b class='flag-5'>卷</b>,第2<b class='flag-5'>卷</b>,第3<b class='flag-5'>卷</b> 基本算法)

    制造的薄膜型非晶硅太陽能電池

    制造的薄膜型非晶硅太陽能電池       TDK在“CEATEC JAPAN 2009”上參考展出了可采用(
    發(fā)表于 01-13 09:14 ?1693次閱讀

    技術曝光:TRADIM的液晶面板構件

    技術曝光:TRADIM的液晶面板構件    日本新一代移動顯示材料技術研究組合(TRADIM)在利用薄膜底板上形成的液晶面板構件,以方式連續(xù)組裝TFT液晶面板的
    發(fā)表于 04-24 13:54 ?1217次閱讀
    技術曝光:TRADIM的<b class='flag-5'>卷</b>對<b class='flag-5'>卷</b>液晶面板構件

    工程制圖A答案

    工程制圖A答案,大學二年級工程制圖A答案
    發(fā)表于 02-29 17:10 ?26次下載

    Cyclone 器件數(shù)據(jù)手冊(第一

    一共有2,分批上傳。這是Cyclone 器件數(shù)據(jù)手冊(第一),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-10 14:20 ?4次下載

    Cyclone器件數(shù)據(jù)手冊(第二

    一共有2,分批上傳。這是Cyclone 器件數(shù)據(jù)手冊(第二),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-10 14:20 ?2次下載

    【存儲數(shù)據(jù)恢復】H3C FlexStorage存儲刪除的數(shù)據(jù)恢復案例

    H3C FlexStorage某型號存儲,25塊磁盤組建的RAID5,其中包含一塊熱備盤。 工作人員誤操作將存儲設備中原先的2個刪除,刪除之后又使用和刪除2個同樣大小的空間重建了一個。用戶希望恢復刪除的2個
    的頭像 發(fā)表于 05-15 15:16 ?788次閱讀
    【存儲<b class='flag-5'>數(shù)據(jù)</b>恢復】H3C FlexStorage存儲<b class='flag-5'>卷</b>刪除的<b class='flag-5'>數(shù)據(jù)</b>恢復案例

    針形狀對芯質(zhì)量的影響

    鋰電池芯的卷繞過程一般是先用兩針夾緊兩層隔膜進行預,然后依次送入正極片或負極片,極片分別夾在兩層隔膜之間進行卷繞。
    的頭像 發(fā)表于 06-01 15:05 ?1421次閱讀
    <b class='flag-5'>卷</b>針形狀對<b class='flag-5'>卷</b>芯質(zhì)量的影響

    卷煙廠包車間數(shù)據(jù)采集遠程監(jiān)控系統(tǒng)

    在工業(yè)化和信息化的兩化融合潮流中,煙草制造業(yè)成為企業(yè)高質(zhì)量發(fā)展的重要技術支撐,其中接包數(shù)據(jù)采集便是重要內(nèi)容之一。通過對接包裝設備的數(shù)據(jù)采集,適合設備
    的頭像 發(fā)表于 06-01 15:32 ?532次閱讀
    卷煙廠<b class='flag-5'>卷</b>包車間<b class='flag-5'>數(shù)據(jù)</b>采集遠程監(jiān)控系統(tǒng)

    服務器數(shù)據(jù)恢復—存儲中被刪除后重建如何恢復被刪除數(shù)據(jù)?

    服務器存儲數(shù)據(jù)恢復環(huán)境: 某品牌FlexStorage P5730服務器存儲,存儲中有一組由24塊硬盤組建的RAID5陣列,包括1塊熱備硬盤。 服務器存儲故障: 存儲中的2個被刪除,刪除之后重建了一個新。需要恢復之
    的頭像 發(fā)表于 06-05 11:03 ?407次閱讀

    服務器數(shù)據(jù)恢復—OceanStor存儲中數(shù)據(jù)丟失的數(shù)據(jù)恢復案例

    華為OceanStor某型號存儲。工作人員在上傳數(shù)據(jù)時發(fā)現(xiàn)該存儲上一個NAS數(shù)據(jù)丟失,管理員隨即關閉系統(tǒng)應用,停止上傳數(shù)據(jù)。這個丟失數(shù)據(jù)
    的頭像 發(fā)表于 06-14 13:42 ?162次閱讀
    服務器<b class='flag-5'>數(shù)據(jù)</b>恢復—OceanStor存儲中<b class='flag-5'>卷</b><b class='flag-5'>數(shù)據(jù)</b>丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復案例