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

淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理

 更新時(shí)間:2018年03月05日 11:27:14   作者:sparkdev  
這篇文章主要介紹了淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

用戶在使用 Docker 的過(guò)程中,往往需要能查看容器內(nèi)應(yīng)用產(chǎn)生的數(shù)據(jù),或者需要把容器內(nèi)的數(shù)據(jù)進(jìn)行備份,甚至多個(gè)容器之間進(jìn)行數(shù)據(jù)的共享,這必然涉及容器的數(shù)據(jù)管理操作。容器中管理數(shù)據(jù)主要有兩種方式:數(shù)據(jù)卷(Data Volumes),數(shù)據(jù)卷容器(Data Volume Containers)。

數(shù)據(jù)卷

數(shù)據(jù)卷是一個(gè)可供容器使用的特殊目錄,它繞過(guò)文件系統(tǒng),可以提供很多有用的特性:
1.數(shù)據(jù)卷可以在容器之間共享和重用。
2.對(duì)數(shù)據(jù)卷的更改會(huì)立即生效。
3.對(duì)數(shù)據(jù)卷的更新不會(huì)影響鏡像。
4.數(shù)據(jù)卷會(huì)一直存在,直到?jīng)]有容器使用。

數(shù)據(jù)卷的使用,類似于 linux 下對(duì)目錄或文件進(jìn)行 mount 操作。

在容器內(nèi)創(chuàng)建一個(gè)數(shù)據(jù)卷

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

下面的例子中我們使用 myimg/webapp 鏡像創(chuàng)建一個(gè) web 容器,并創(chuàng)建一個(gè)數(shù)據(jù)卷掛載到容器的 /webdata 目錄。

$ sudo docker run -d -P –name web -v /webdata myimg/webapp python app.py

掛載一個(gè)主機(jī)目錄作為數(shù)據(jù)卷

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

$ sudo docker run -d -P –name web -v /var/data:/opt/webdata myimg/webapp python app.py

上面的命令掛載主機(jī)的 /var/data 目錄到容器的 /opt/webdata 目錄。

這個(gè)功能在接下測(cè)試的時(shí)候特別方便,比如用戶可以放置一些程序或數(shù)據(jù)到本地目錄中,然后在容器中使用。另外,本地目錄的路徑必須是絕對(duì)路徑,如果目錄不存在,Docker 會(huì)自動(dòng)創(chuàng)建。
Docker 掛載數(shù)據(jù)卷的默認(rèn)權(quán)限是可讀寫(rw),用戶也可以通過(guò) ro 標(biāo)記指定為只讀:

復(fù)制代碼 代碼如下:

$ sudo docker run -d -P –name web -v /var/data:/opt/webdata:ro myimg/webapp python app.py

加了 :ro 之后,容器內(nèi)掛載的數(shù)據(jù)卷內(nèi)的數(shù)據(jù)就變成只讀的了。

掛載一個(gè)本地主機(jī)文件作為數(shù)據(jù)卷

-v 標(biāo)記也可以掛載一個(gè)主機(jī)中的文件到容器中作為數(shù)據(jù)卷,但是這樣做會(huì)帶來(lái)一些問(wèn)題。建議還是掛載文件所在的目錄。

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

如果用戶需要在容器之間共享一些持續(xù)更新的數(shù)據(jù),最簡(jiǎn)單的方式是使用數(shù)據(jù)卷容器。數(shù)據(jù)卷容器其實(shí)就是一個(gè)普通的容器,專門用它提供數(shù)據(jù)卷供其他容器掛載。下面簡(jiǎn)單介紹其使用方法。

首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)卷容器 mydata,并在其中創(chuàng)建一個(gè)數(shù)據(jù)卷掛載到 /data 目錄。

$ sudo docker run -it -v /data –name mydata ubuntu

然后在其他容器中使用 --volumes-from 來(lái)掛載 mydata 容器中的數(shù)據(jù)卷。例如創(chuàng)建兩個(gè)容器 mycon1 和 mycon2,并從 mydata 容器掛載數(shù)據(jù)卷:

$ sudo docker run -it --volumes-from mydata –name mycon1 ubuntu
$ sudo docker run -it --volumes-from mydata –name mycon2 ubuntu

(注意,命令中沒(méi)有指定數(shù)據(jù)卷的信息,也就是說(shuō)新容器中掛載數(shù)據(jù)卷的目錄和源容器中是一樣的。)

此時(shí)容器 mycon1 和 mycon2 都掛載同一個(gè)數(shù)據(jù)卷到相同的目錄 /data。三個(gè)容器任何一個(gè)在該目錄下寫入數(shù)據(jù)其他容器都能看到。

可以多次使用 --volumes-from 參數(shù)來(lái)從多個(gè)容器掛載多個(gè)數(shù)據(jù)卷。還可以從其他已經(jīng)掛載了容器的容器來(lái)掛載數(shù)據(jù)卷。并且使用 --volumes-from 參數(shù)所掛載數(shù)據(jù)卷的容器自身并不需要保持在運(yùn)行狀態(tài)。

但刪除掛載了數(shù)據(jù)卷的容器時(shí),數(shù)據(jù)卷并不會(huì)被自動(dòng)刪除。如果要?jiǎng)h除一個(gè)數(shù)據(jù)卷,必須在刪除最后一個(gè)還掛載著它的容器時(shí)顯式的使用 docker rm -v 命令來(lái)指定同時(shí)刪除關(guān)聯(lián)的容器。

使用數(shù)據(jù)卷容器可以讓用戶在容器之間自由的升級(jí)和移動(dòng)數(shù)據(jù)卷,下面會(huì)進(jìn)行詳細(xì)的介紹。

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

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

備份

使用下面的命令來(lái)備份 mydata 數(shù)據(jù)卷容器內(nèi)的數(shù)據(jù)卷:

復(fù)制代碼 代碼如下:

$ sudo docker run --volumes-from mydata -v $(pwd):/backup –name worker ubuntu tar cvf /backup/backup.tar /data

這個(gè)命令首先利用 Ubuntu 鏡像創(chuàng)建了一個(gè)容器 worker。又使用 --volumes-from mydata 參數(shù)來(lái)讓 worker 容器掛載 mydata 容器的數(shù)據(jù)卷。接下來(lái)使用 -v $(pwd):/backup 參數(shù)來(lái)掛載本地的當(dāng)前目錄到 worker 容器的 /backup 目錄。
在 worker 容器啟動(dòng)后,使用了 tar cvf /backup/backup.tar /data 命令來(lái)將 /data 下內(nèi)容備份為容器內(nèi)的 /backup/backup.tar,即宿主主機(jī)的當(dāng)前目錄下的backup.tar。

恢復(fù)

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

$ sudo docker run -v /data –name mydata2 ubuntu /bin/bash

然后創(chuàng)建另一個(gè)新的容器,掛載 mydata2 的數(shù)據(jù)卷,并使用 tar 解壓縮備份文件到所掛載的容器卷中:

復(fù)制代碼 代碼如下:

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker容器/etc/hosts文件修改方法

    docker容器/etc/hosts文件修改方法

    在容器內(nèi)部,當(dāng)需要訪問(wèn)其他容器或主機(jī)時(shí),可以通過(guò)/etc/hosts文件來(lái)解析主機(jī)名,從而實(shí)現(xiàn)網(wǎng)絡(luò)通信,這篇文章主要介紹了docker容器/etc/hosts文件,需要的朋友可以參考下
    2023-06-06
  • 通過(guò)Docker部署Redis 6.x集群的方法

    通過(guò)Docker部署Redis 6.x集群的方法

    這篇文章主要介紹了通過(guò)Docker部署Redis 6.x集群的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Ubuntu Docker安裝并使用的方法

    Ubuntu Docker安裝并使用的方法

    最近在學(xué)習(xí)docker,本文就從入門開始介紹Ubuntu Docker安裝并使用的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Docker部署Mysql8的實(shí)現(xiàn)步驟

    Docker部署Mysql8的實(shí)現(xiàn)步驟

    本文主要介紹了Docker部署Mysql8的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Docker遠(yuǎn)程連接設(shè)置的實(shí)現(xiàn)示例

    Docker遠(yuǎn)程連接設(shè)置的實(shí)現(xiàn)示例

    本文主要介紹了Docker遠(yuǎn)程連接設(shè)置的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • docker安裝使用系列之交叉編譯詳解

    docker安裝使用系列之交叉編譯詳解

    在x86平臺(tái)上使用Docker實(shí)現(xiàn)跨平臺(tái)編譯ARM端程序,需要安裝Docker,拉取包含ARM工具鏈的鏡像,啟動(dòng)QEMU支持,并使用相應(yīng)的Dockerfile進(jìn)行構(gòu)建,構(gòu)建完成后,可以運(yùn)行并測(cè)試ARM程序,導(dǎo)出所需文件,若在ARM平臺(tái)運(yùn)行x86鏡像,需使用Rosetta2等工具
    2024-10-10
  • 完美解決docker安裝mysql后Navicat連接不上的問(wèn)題

    完美解決docker安裝mysql后Navicat連接不上的問(wèn)題

    這篇文章主要介紹了完美解決docker安裝mysql后Navicat連接不上的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker容器的原理分析

    docker容器的原理分析

    這篇文章主要介紹了docker容器的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用docker容器,感興趣的朋友可以了解下
    2021-04-04
  • 淺談Docker如何自定義host文件

    淺談Docker如何自定義host文件

    本文主要介紹了Docker如何自定義host文件,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Docker registry私有鏡像倉(cāng)庫(kù)服務(wù)部署案例演示

    Docker registry私有鏡像倉(cāng)庫(kù)服務(wù)部署案例演示

    這篇文章主要為大家介紹了Docker registry私有鏡像倉(cāng)庫(kù)服務(wù)部署案例演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論

新疆| 调兵山市| 武川县| 邛崃市| 陆丰市| 同德县| 镇雄县| 邛崃市| 城步| 安岳县| 西乌珠穆沁旗| 辽阳县| 罗田县| 湄潭县| 兴隆县| 绥宁县| 嘉禾县| 桃园市| 商洛市| 高碑店市| 牡丹江市| 祁门县| 广丰县| 伊川县| 阜康市| 蒲江县| 镇康县| 富源县| 石渠县| 淮安市| 甘孜| 北碚区| 普安县| 寿光市| 涞水县| 米易县| 镇江市| 绥化市| 麻江县| 桓仁| 南丹县|