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目錄下面
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映象是由多個檔案系統(只讀層)疊加而成.當我們啟動一個容器的時候,Docker會載入映象層並在其上新增一個讀寫層.如果執行中的容器修改了現有的一個已存在的檔案,那該檔案將會從讀寫層下的只讀層複製到讀寫層,該檔案的只讀版本仍然存在,只是已經被讀寫層中該檔案的副本所隱藏.當刪除Docker容器,並透過該映象重新啟動時,之前的更改將會丟失.在Docker中,只讀層以及在頂部的讀寫層的組合被稱為Union FIle System(聯合檔案系統).
二:資料卷
1.對映本地伺服器的目錄 到 容器的/data目錄下面
docker run -ti --name myCentos -v /data centos:latest /bin/bash
docker inspect myCentos
檢視結果 本地伺服器目錄/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data 被對映到了容器的/data目錄下面
點選(此處)摺疊或開啟
-
"Mounts": [
-
{
-
"Name": "f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257",
-
"Source": "/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data",
-
"Destination": "/data",
-
"Driver": "local",
-
"Mode": "",
-
"RW": true,
-
"Propagation": ""
-
}
- ]
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2138700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Docker VolumeDocker
- docker 介紹Docker
- Docker介紹Docker
- Docker_Docker介紹1Docker
- docker 基本介紹Docker
- Docker 介紹 一Docker
- docker 命令介紹Docker
- 從docker介紹及其簡介Docker
- docker swarm部署介紹DockerSwarm
- docker 引數介紹Docker
- docker介紹、安裝Docker
- Docker容器技術與Docker介紹Docker
- Docker儲存Volume使用Docker
- Kubernetes部分Volume型別介紹及yaml示例型別YAML
- Docker基本介紹及使用Docker
- Docker(二):Dockerfile 使用介紹Docker
- docker之Dockerfile指令介紹Docker
- Docker 涉密資訊管理介紹Docker
- Docker 網路基礎介紹Docker
- Docker內部元件介紹Docker元件
- docker建立volume 指定volume 匯出image 匯入imageDocker
- 理解Docker(8):Docker 儲存之卷(Volume)Docker
- 容器技術和Docker介紹Docker
- Docker的原理及特性介紹Docker
- 理解Docker(8):Docker 儲存之卷(Volume) (轉)Docker
- Docker --volume-資料持久化Docker持久化
- 白話理解和使用DOCKER VOLUMEDocker
- Docker 映象及容器操作命令介紹Docker
- Docker介紹及安裝詳解Docker
- (2)Docker常用命令介紹Docker
- Docker 編排工具 Fig 介紹Docker
- 利用Docker volume修改Nginx Docker映象裡index.htmlDockerNginxIndexHTML
- 『中級篇』Docker-cloud介紹(54)DockerCloud
- Docker(3):Dockerfile介紹及簡單示例Docker
- Docker介紹 安裝 常用工具Docker
- 初次學習 Docker Volume 的基本使用 (四)Docker
- Docker批次容器編排的實現介紹Docker
- Docker容器學習梳理 - Volume資料卷使用Docker