最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細介紹

 更新時間:2016年11月21日 10:38:55   作者:bugall  
這篇文章主要介紹了 Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細介紹的相關(guān)資料,這里對Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器的感念及相關(guān)操作進行了介紹,需要的朋友可以參考下

Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細介紹

引子

有些時候,我們的服務(wù)運行時必不可少的會產(chǎn)生一些日志,或是我們需要把容器內(nèi)的數(shù)據(jù)進行備份,甚至多個容器之間進行數(shù)據(jù)共享,這必然涉及容器的數(shù)據(jù)管理操作。

容器中管理數(shù)據(jù)主要有兩種方式:

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

數(shù)據(jù)卷是一個可供容器使用的特殊目錄,它繞過文件系統(tǒng),可以提供很多有用的特性:
- 數(shù)據(jù)卷可以在容器之間共享和重用
- 對數(shù)據(jù)卷的修改會立馬生效
- 對數(shù)據(jù)卷的更新,不會影響鏡像
- 卷會一直存在,直到?jīng)]有容器使用

#(類似linux下的掛載(mount))

創(chuàng)建數(shù)據(jù)卷

在用Docker run 命令的時候,使用-v參數(shù)標記可以在容器內(nèi)創(chuàng)建一個數(shù)據(jù)卷,多次使用-v標記可以創(chuàng)建多個數(shù)據(jù)卷

docker run -dp --name web -v /webapp ubuntu:14.04
#這里我們沒有-p后,并沒有制定端口,如果我們不制定容器與宿主機之間映射的端口關(guān)系的話,Docker會隨意映射

掛載一個主機目錄作為數(shù)據(jù)卷
使用-v標記也可以指定掛載一個本地的已有目錄到容器中去作為數(shù)據(jù)卷

docker run -dp --name web -v /src/webapp:/opt/webapp ubuntu:1404

上面這條命令加載主機/src/webapp目錄到容器的/opt/webapp目錄:

這個功能在進行測試的時候十分方便,比如用戶可以放置一些程序或數(shù)據(jù)到本地目錄中,然后在容器內(nèi)運行和使用。另外,本

地目錄的路徑必須是絕對路徑,如果目錄不存在,Docker會自動創(chuàng)建。

Docker掛載數(shù)據(jù)卷的默認權(quán)限是讀寫,用戶也可以通過,ro指定只讀:

docker run -dp --name web -v /src/webapp:/opt/webapp:ro ubuntu:14.04
# 加了:ro之后,容器內(nèi)掛載的數(shù)據(jù)卷的數(shù)據(jù)就無法修改。

掛載本機文件為數(shù)據(jù)卷

-v標記也可以從主機掛載單個文件到容器中作為數(shù)據(jù)卷:

Docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu:14.04
# 這樣就可以記錄在容器輸入過的命令歷史(不同shell版本有所不同)

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

如果用戶需要在容器之間共享一些持續(xù)更新的數(shù)據(jù),最簡單的方式是使用數(shù)據(jù)卷容器,數(shù)據(jù)卷容器其實是一個普通的容器,專門用來提供數(shù)據(jù)卷供其它容器掛載。
首先,創(chuàng)建一個數(shù)據(jù)卷容器dbdata,并在其中創(chuàng)建一個數(shù)據(jù)卷掛載到/dbdata:

docker run -ti -v /dbdata --name dbdata ubuntu:14.04

接著我們可以在其他容器中使用–volumes-form來掛載dbdata容器中的數(shù)據(jù)卷,例如創(chuàng)建db1和db2兩個容器,并從dbdata容器掛載數(shù)據(jù)卷:

docker run -ti --volumes-from dbdata --name db1 ubuntu:14.04
docker run -ti --volumes-from dbdata --name db2 ubuntu:14.04

此時容器db1和db2都掛載同一個數(shù)據(jù)卷到相同的/dbdata目錄。三個容器任何一方在該目錄下的寫入,其他容器都可以看到。

例如,在dbdata容器中創(chuàng)建一個test文件:

root@df392e32f0p6:/# touch test1
root@df392e32f0p6:/#ls
test

我們在db1容器中查看它:

docker run -ti --volumes-from dbdata --name db1 ubuntu:14.04
root@92597e32f0p6:/# ls dbdata/
test

我們可以多次使用–volumes-from參數(shù)來從多個容器掛載多個數(shù)據(jù)卷。還可以從其他已經(jīng)掛載了容器卷的容器來掛載數(shù)據(jù)卷:

docker run -d --name db3 --volumes-from db1 ubuntu:14.04
#注意:使用--volumes-from參數(shù)所掛載數(shù)據(jù)卷的容器自身并不需要保持在運行狀態(tài)

如果刪除了掛載的容器(包括dbdata,db1 和 db2),數(shù)據(jù)卷并不會被自動刪除。如果要刪除一個數(shù)據(jù)卷,必須在刪除最后一個還掛載著它的容器時顯式使用Docker rm -v命令來指定同時刪除關(guān)聯(lián)的容器。

使用數(shù)據(jù)卷容器可以讓用戶在容器之間自由的升級和移動數(shù)據(jù)卷。

利用數(shù)據(jù)卷容器遷移數(shù)據(jù)

可以利用數(shù)據(jù)卷容器對其中的數(shù)據(jù)卷進行備份,回復(fù),以實現(xiàn)數(shù)據(jù)的遷移。

備份

docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu:14.04 tar cvf /backup/backup.tar /dbdata

這個命令有點復(fù)雜,我們來看下這條命令都做了哪寫操作

1.首先利用ubuntu鏡像創(chuàng)建了一個容器worker。
2.使用–volumes-from dbdata參數(shù)來讓worker容器掛載dbdata容器的數(shù)據(jù)卷(即dbdata數(shù)據(jù)卷);
3.使用-v $(pwd):/backup參數(shù)來掛載本地的當前目錄到worker容器的/backup目錄

worker容器啟動后,使用了tar cvf /backup/backup.tar /dbdata命令來將/dbdata下內(nèi)容備份為容器內(nèi)的/backup/backup.tar,即宿主主機當前目錄下的backup.tar。

恢復(fù)

如果要恢復(fù)數(shù)據(jù)到一個容器,可以按照下面的操作,首先創(chuàng)建一個帶有數(shù)據(jù)卷的容器dbdata2:

docker run -v /dbdata --name dbdata2 ubuntu:14.04

然后創(chuàng)建另一個新的容器,掛載dbdata2的容器,并使用ubtar解壓備份文件到所掛載的容器卷中即可:

docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • docker如何刪除<none>/dangling/懸空鏡像

    docker如何刪除<none>/dangling/懸空鏡像

    這篇文章主要介紹了docker如何刪除<none>/dangling/懸空鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 解決docker pull鏡像速度慢的問題的方法

    解決docker pull鏡像速度慢的問題的方法

    本篇文章主要介紹了解決docker pull鏡像速度慢的問題的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 對已有的docker容器增加新的端口映射問題(兩種方式)

    對已有的docker容器增加新的端口映射問題(兩種方式)

    這篇文章主要介紹了對已有的docker容器增加新的端口映射,在運行容器時指定映射端口運行后,如果想要添加新的端口映射,使用兩種方式都可以,需要的朋友可以參考下
    2022-01-01
  • docker安裝Portainer CE的實現(xiàn)示例

    docker安裝Portainer CE的實現(xiàn)示例

    Portainer是一款易用的開源容器管理工具,適合各級經(jīng)驗的Docker用戶,它提供直觀的UI,方便管理、部署和監(jiān)控容器,本文就來介紹一下docker安裝Portainer CE的實現(xiàn)示例,感興趣的可以了解一下
    2024-09-09
  • Docker容器編排實現(xiàn)過程解析

    Docker容器編排實現(xiàn)過程解析

    這篇文章主要介紹了Docker容器編排實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Docker compose 編排工具詳解

    Docker compose 編排工具詳解

    Compose是一個用于定義和運行多容器Docker應(yīng)用程序的工具。使用Compose,您可以使用Compose文件來配置應(yīng)用程序的服務(wù)。然后,使用單個命令,您可以從配置中創(chuàng)建并啟動所有服務(wù)
    2021-09-09
  • docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法

    docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法

    這篇文章主要介紹了docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • docker自定義鏡像構(gòu)建php7的方法

    docker自定義鏡像構(gòu)建php7的方法

    這篇文章主要介紹了docker自定義鏡像構(gòu)建php7的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 基于Docker搭建Redis主從集群的實現(xiàn)

    基于Docker搭建Redis主從集群的實現(xiàn)

    本文基于Docker+Redis5.0.5版本,通過cluster方式創(chuàng)建一個6個redis實例的主從集群,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解

    docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解

    TDengineGUI是一個基于electron構(gòu)建的,針對時序數(shù)據(jù)庫TDengine的圖形化管理工具,這篇文章主要介紹了docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解,需要的朋友可以參考下
    2025-04-04

最新評論

含山县| 舒城县| 福清市| 海伦市| 东平县| 昔阳县| 分宜县| 夏津县| 静乐县| 永安市| 阿拉善左旗| 扎赉特旗| 清涧县| 江达县| 韶关市| 思茅市| 西峡县| 大石桥市| 蕲春县| 苏尼特右旗| 拉萨市| 高密市| 兴安县| 垦利县| 呼伦贝尔市| 伊宁市| 宝坻区| 正镶白旗| 清丰县| 濮阳县| 玛多县| 黄龙县| 无为县| 交口县| 苏州市| 永昌县| 菏泽市| 凤庆县| 遵化市| 工布江达县| 德昌县|