如何使用docker數(shù)據(jù)卷?

如何使用docker數(shù)據(jù)卷?

10年的沅江網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整沅江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“沅江網(wǎng)站設(shè)計(jì)”,“沅江網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

開始之前

如果你有一些需要持續(xù)更新的數(shù)據(jù)并且希望持久化數(shù)據(jù),或者需要在不同的容器之間共享數(shù)據(jù),再者需要主機(jī)與容器之間共享數(shù)據(jù),那么你可以使用數(shù)據(jù)卷來(lái)滿足這些需求。

數(shù)據(jù)卷定義

數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它繞過(guò) UFS,可以提供很多有用的特性:
數(shù)據(jù)卷可以在容器之間共享和重用。
對(duì)數(shù)據(jù)卷的修改會(huì)立馬生效。
數(shù)據(jù)卷默認(rèn)會(huì)一直存在,即使容器被刪除。

使用數(shù)據(jù)卷

數(shù)據(jù)卷有兩種創(chuàng)建方式一是創(chuàng)建容器時(shí)創(chuàng)建數(shù)據(jù)卷,二是先創(chuàng)建好數(shù)據(jù)卷,在創(chuàng)建容器時(shí)掛載這個(gè)數(shù)據(jù)卷,兩種方式均可以。

  1. 創(chuàng)建一個(gè)數(shù)據(jù)卷
docker volume create demo-data
demo-data
  1. 創(chuàng)建容器使用-v(--volume)參數(shù)來(lái)掛載數(shù)據(jù)卷
docker run --name demo1 -d \
    -v demo-data:/var/www/html nginx:alpine
docker run --name demo2 -d \
    -v demo-data:/var/www/html nginx:alpine
  1. 列出數(shù)據(jù)卷
docker volume ls
DRIVER      VOLUME NAME
local       demo-data
  1. 查看數(shù)據(jù)卷詳細(xì)信息
docker volume inspect demo-data
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/demo-data/_data",
        "Name": "demo-data",
        "Options": {},
        "Scope": "local"
    }
]
  1. 刪除數(shù)據(jù)卷
docker volume rm demo-data
Error response from daemon: remove demo-data: volume is in use - [#省略..]

注意: 由于有容器正在使用數(shù)據(jù)卷,提示無(wú)法刪除數(shù)據(jù)卷。

測(cè)試數(shù)據(jù)卷
  1. 宿主機(jī)寫入數(shù)據(jù)
hostname > /var/lib/docker/volumes/demo-data/_data/hosts.txt

注意: 這個(gè)目錄對(duì)應(yīng)創(chuàng)建的 demo-data 數(shù)據(jù)卷。

  1. 容器寫入數(shù)據(jù)
docker exec -ti demo1 sh -c 'hostname >> /var/www/html/hosts.txt'
docker exec -ti demo2 sh -c 'hostname >> /var/www/html/hosts.txt'
  1. 讀取數(shù)據(jù)
cat /var/lib/docker/volumes/demo-data/_data/hosts.txt 
node0
87c60cbe6147
a6bc3c00c790
  1. 刪除容器數(shù)據(jù)卷仍然保留
docker stop demo1 
docker stop demo2 
docker rm demo1
docker rm demo2

數(shù)據(jù)卷仍然存在

docker volume ls
DRIVER      VOLUME NAME
local       demo-data

如果需要可以使用 rm 選項(xiàng)刪除數(shù)據(jù)卷

docker volume rm demo-data

數(shù)據(jù)卷已不存在

docker volume inspect demo-data 
[]
Error: No such volume: demo-data
命令幫助

創(chuàng)建容器時(shí)掛載數(shù)據(jù)卷參數(shù)

docker run --help | grep '\-v,'
  -v, --volume list     Bind mount a volume

刪除容器時(shí)一并刪除數(shù)據(jù)卷參數(shù)(慎用)

 docker rm --help | grep '\-v'

  -v, --volumes   Remove the volumes associated with the container

數(shù)據(jù)卷管理命令

docker volume --help

Usage:  docker volume COMMAND

Manage volumes

Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused local volumes
  rm          Remove one or more volumes
小結(jié)

最后來(lái)總結(jié)下文章中的知識(shí)點(diǎn)

  • 數(shù)據(jù)卷 是被設(shè)計(jì)用來(lái)持久化數(shù)據(jù)的,它的生命周期獨(dú)立于容器,Docker 不會(huì)在
    容器被刪除后自動(dòng)刪除數(shù)據(jù)卷 。
  • 如果需要在刪除容器的同時(shí)移除數(shù)據(jù)卷??梢栽趧h除容器
    的時(shí)候使用docker rm -v這個(gè)命令。

參考文章

doker&k8s Qun [703906133]

當(dāng)前標(biāo)題:如何使用docker數(shù)據(jù)卷?
本文網(wǎng)址:http://bm7419.com/article38/gegdpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站制作、App設(shè)計(jì)微信公眾號(hào)、標(biāo)簽優(yōu)化小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)