關(guān)于Docker你不知道的那些事之Docker容器數(shù)據(jù)卷

      網(wǎng)友投稿 983 2025-03-31

      docker容器數(shù)據(jù)卷

      前言

      是什么?

      docker的理念

      能干嘛

      數(shù)據(jù)卷(在容器內(nèi)添加)

      方式

      直接命令添加

      DockerFile添加

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

      是什么

      總體介紹

      容器間傳遞共享(--volumes-from)

      總結(jié)

      前言

      這篇博文介紹的是Docker容器數(shù)據(jù)卷,關(guān)于這部分內(nèi)容也許是我們學(xué)習(xí)和使用docker的核心知識(shí)。學(xué)習(xí)了這部分知識(shí),我們就可以制作自己的將鏡像,運(yùn)行自己定制的容器,可以隨自己的需要任意使用docker,實(shí)實(shí)在在的解決我們的工作痛點(diǎn),提高我們的工作效率,這就是docker技術(shù)存在的意義。

      有需要的同學(xué)可以了解一下這篇文章,謝謝。

      是什么?

      Docker的理念

      將運(yùn)用與運(yùn)行的環(huán)境打包形成容器運(yùn)行,運(yùn)行可以伴隨著容器,但是我們對(duì)數(shù)據(jù)的要求希望是持久化的

      容器之間希望有可能共享數(shù)據(jù)

      Docker容器產(chǎn)生的數(shù)據(jù),如果不通過(guò)Docker commit生成新的鏡像,使得數(shù)據(jù)作為鏡像的一部分保存下來(lái),那么當(dāng)容器刪除后,數(shù)據(jù)自然也就沒有了

      為了能保存數(shù)據(jù)在docker中我們使用卷

      一句話:有點(diǎn)類似我們r(jià)edis里面的rdb和aof文件

      能干嘛

      容器的持久化

      容器間繼承+共享數(shù)據(jù)

      卷就是目錄或文件,存在于一個(gè)或多個(gè)容器中,有docker掛載到容器,但不屬于聯(lián)合文件系統(tǒng),因此能夠繞過(guò)Union File system 提供一些用于持續(xù)存儲(chǔ)或共享數(shù)據(jù)的特性:

      卷的設(shè)計(jì)目的就是數(shù)據(jù)的持久化,完全獨(dú)立于容器的生存周期,因此Docker不會(huì)在容器刪除時(shí)刪除其掛在的數(shù)據(jù)卷

      數(shù)據(jù)卷可在容器之間共享或重用數(shù)據(jù),也可以完成容器與主機(jī)之間的數(shù)據(jù)共享。

      卷中的更改可以直接生效

      數(shù)據(jù)卷中的更改不會(huì)包含在鏡像的更新中

      數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止

      docker cp 從容器內(nèi)拷貝文件到主機(jī)上

      數(shù)據(jù)卷(在容器內(nèi)添加)

      方式

      直接命令添加

      DockerFile添加

      直接命令添加

      命令: docker run -it -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄 鏡像名

      查看數(shù)據(jù)卷是否掛載成功

      容器和宿主機(jī)之間數(shù)據(jù)共享

      容器停止退出后,主機(jī)修改后數(shù)據(jù)是否同步

      命令(帶權(quán)限)

      docker run -it -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄:ro 鏡像名

      解釋

      ro:只讀

      docker inspect 獲取容器/鏡像的元數(shù)據(jù)。

      docker inspect是docker客戶端的原生命令,用于查看docker對(duì)象的底層基礎(chǔ)信息。包括容器的id、創(chuàng)建時(shí)間、運(yùn)行狀態(tài)、啟動(dòng)參數(shù)、目錄掛載、網(wǎng)路配置等等。另外,該命令也可以用來(lái)查看docker鏡像的信息。

      docker inspect [OPTIONS] NAME|ID [NAME|ID…]

      OPTIONS說(shuō)明:

      -f :指定返回值的模板文件。

      -s :顯示總的文件大小。

      –type :為指定類型返回JSON。

      # 查看redis:latest鏡像信息 docker inspect --type=image redis # 查看redis容器信息 docker inspect redis

      1

      2

      3

      4

      5

      關(guān)于Docker你不知道的那些事之Docker容器數(shù)據(jù)卷

      DockerFile添加

      根目錄下新建mydocker文件夾并進(jìn)入

      可在Dockerfile中使用VOLUME指令來(lái)給鏡像添加一個(gè)或多個(gè)數(shù)據(jù)卷

      File構(gòu)建

      # volume test FROM centos VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"] CMD echo "finised,---------success1" CMD "/bin/bash"

      1

      2

      3

      4

      5

      翻譯一下,大致是以下意思:

      docker run -it -v /host1:/dataVolumeContainer1 -v /host2:/dataVolumeContainer2 /bin/bash

      1

      build后生成鏡像:獲得了一個(gè)新的鏡像【zzyy/centos】

      run容器

      通過(guò)上述步驟,容器內(nèi)的卷目錄地址已經(jīng)知道對(duì)應(yīng)的主機(jī)目錄地址哪??

      主機(jī)對(duì)應(yīng)默認(rèn)地址

      使用docker inspect [IMAGE_ID]

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

      是什么

      命名的容器掛載數(shù)據(jù)卷,其它容器通過(guò)掛載這個(gè)(父容器)實(shí)現(xiàn)數(shù)據(jù)共享,掛載數(shù)據(jù)卷的容器,稱之為數(shù)據(jù)卷容器

      總體介紹

      以上一步新建的鏡像zzyy/centos為模板并運(yùn)行容器dc01/dc02/dc03

      它們已經(jīng)具有容器卷:/dataVolumeContainer1和/dataVolumeContainer2

      容器間傳遞共享(–volumes-from)

      先啟動(dòng)一個(gè)父容器dc01:在dataVolumeContainer2新增內(nèi)容

      dc02/dc03繼承dc01

      –volumes-from :繼承

      命令:dc02/dc03分別在dataVolumeContainer2各自新增內(nèi)容

      回到dc01可以看到02/03各自添加的都能共享了

      刪除dc01,在dc02修改后dc03可否訪問

      可以訪問,父容器dc01刪除之后,子容器dc02和dc03也可以進(jìn)行數(shù)據(jù)共享。

      刪除dc02后dc03可否訪問 --可以訪問

      新建dc04繼承dc03后再刪除dc03 --可以訪問

      結(jié)論:容器之間配置信息的傳遞,數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止。

      總結(jié)

      歡迎加關(guān)注,謝謝!!!!

      Docker Redis 容器

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【云深知處】NFV理論與實(shí)踐(4)-CloudOS云操作系統(tǒng)
      下一篇:制造業(yè)生產(chǎn)管理內(nèi)容(生產(chǎn)制造工作內(nèi)容)
      相關(guān)文章
      91亚洲一区二区在线观看不卡 | 亚洲av综合色区| 亚洲av日韩精品久久久久久a| 国产精品亚洲精品观看不卡| 亚洲人色大成年网站在线观看| 亚洲无码日韩精品第一页| 亚洲AV永久无码精品一区二区国产 | 久久久久一级精品亚洲国产成人综合AV区 | 亚洲人成电影福利在线播放 | 亚洲资源在线观看| 亚洲精品中文字幕乱码| 亚洲精品国产福利片| 亚洲精品中文字幕乱码影院| 亚洲伊人久久大香线蕉在观| 亚洲av无码电影网| 亚洲成人动漫在线| 亚洲精品高清国产一久久| 亚洲国产人成在线观看69网站| 亚洲一级二级三级不卡| 亚洲美女免费视频| 亚洲av无码不卡久久| 精品日韩99亚洲的在线发布| 亚洲一区二区三区丝袜| 亚洲精华国产精华精华液 | 久久久亚洲欧洲日产国码aⅴ| 亚洲高清中文字幕| 亚洲一卡2卡3卡4卡国产网站| 最新国产精品亚洲| 国产成人 亚洲欧洲| 精品亚洲一区二区三区在线播放| 亚洲伊人久久大香线蕉综合图片| 国产AV无码专区亚洲AV男同| 亚洲精品视频在线看| 自拍偷自拍亚洲精品被多人伦好爽 | 国产亚洲综合一区柠檬导航| 亚洲精选在线观看| 亚洲av永久无码精品三区在线4| 亚洲精品国产av成拍色拍| 亚洲高清无码在线观看| 国产亚洲精久久久久久无码| 精品亚洲成a人片在线观看 |