Docker Volume是什么

蝸牛 互聯網技術資訊 2021-12-14 98 0

本篇內容主要講解“Docker Volume是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker Volume是什么”吧!

一:簡介
Docker鏡像是由多個文件系統(只讀層)疊加而成.當我們啟動一個容器的時候,Docker會加載鏡像層并在其上添加一個讀寫層.如果運行中的容器修改了現有的一個已存在的文件,那該文件將會從讀寫層下的只讀層復制到讀寫層,該文件的只讀版本仍然存在,只是已經被讀寫層中該文件的副本所隱藏.當刪除Docker容器,并通過該鏡像重新啟動時,之前的更改將會丟失.在Docker中,只讀層以及在頂部的讀寫層的組合被稱為Union FIle System(聯合文件系統).

為了能夠保存(持久化)數據以及共享容器間的數據,Docker提出了Volume的概念.簡單來說,Volume就是目錄或者文件,它可以繞過默認的聯合文件系統,而以正常的文件或者目錄的形式存在于宿主機上.

二:數據卷

1.映射本地服務器的目錄 到 容器的/data目錄下面
docker run -ti --name myCentos -v /data ?centos:latest /bin/bash

docker inspect myCentos

查看結果 ?本地服務器目錄/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data ?被映射到了容器的/data目錄下面

點擊(此處)折疊或打開

  1. "Mounts": [

  2. ????????????{

  3. ????????????????"Name": "f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257",

  4. ????????????????"Source": "/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data",

  5. ????????????????"Destination": "/data",

  6. ????????????????"Driver": "local",

  7. ????????????????"Mode": "",

  8. ????????????????"RW": true,

  9. ????????????????"Propagation": ""

  10. ????????????}

  11. ????????]

2.容器/data目錄下面的變動信息,在本地服務中都可以看的到。

3.該-v命令 ?等同于Dockerfile 文件中的 ?VOLUME ?/data命令

4.掛載本地服務器指定目錄到容器目錄中(這是Dockerfile文件中無法實現的)

docker run -ti --name myCentos3 -v /data/docker:/data/docker ?centos:latest /bin/bash

三:數據共享&數據卷容器

docker run -ti --name myCentos4 --volumes-from myCentos3 ?centos:latest /bin/bash

docker run -ti --name myCentos5 --volumes-from myCentos3 ?centos:latest /bin/bash? ?VOLUME?/data

myCentos4 ,myCentos5 共享容器myCentos3 的數據卷, ?myCentos3 是一個專門的數據卷容器。

常見的使用場景是使用純數據容器來持久化數據庫,配置文件或者數據文件等。 數據卷容器不需要啟動即可以用來使用。

四:利用數據卷容器對其中的數據卷進行備份和恢復,以實現數據的遷移

備份:
docker run --name myCentos5 --volumes-from myCentos3 -v /backup:/backup ?centos:latest tar czvf /backup/backup.tar /data/docker

恢復:
docker run --name myCentos6 -v /data/docker ?centos:latest ?/bin/bash (創建一個帶有數據卷的容器)

docker run --name myCentos7 --volumes-from?myCentos6 ?-v /backup:/backup ?centos:latest ?tar xzvf ?/backup/backup.tar?

mv . /data/docker

五:刪除數據卷容器

docker rm -v

到此,相信大家對“Docker Volume是什么”有了更深的了解,不妨來實際操作一番吧!這里是蝸牛博客網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

日本韩欧美一级A片在线观看