亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        管理Docker容器的數(shù)據(jù)卷

        2017-03-08 15:52:59
        網(wǎng)絡(luò)安全和信息化 2017年10期
        關(guān)鍵詞:宿主機鏡像命令

        Docker容器數(shù)據(jù)卷的功能

        數(shù)據(jù)卷從本質(zhì)上說,是存在于Docker宿主機的文件系統(tǒng)中。數(shù)據(jù)卷既可以是目錄也可以是文件,Docker容器可以借助于數(shù)據(jù)卷技術(shù),與宿主機進(jìn)行數(shù)據(jù)共享。數(shù)據(jù)卷中的同一個目錄和文件,可以支持多個容器進(jìn)行訪問,這樣就實現(xiàn)了容器間的數(shù)據(jù)共享和交互。

        數(shù)據(jù)卷在容器啟動時進(jìn)行初始化,如果容器使用的鏡像在掛載點包含了數(shù)據(jù),這些數(shù)據(jù)會復(fù)制到新初始化的數(shù)據(jù)卷中。數(shù)據(jù)卷可在容器間共享和重用,容器對數(shù)據(jù)卷的修改是即時進(jìn)行的,所有的修改可以直接體現(xiàn)的數(shù)據(jù)卷中。數(shù)據(jù)卷的變化不會對鏡像更新造成影響。

        為容器添加數(shù)據(jù)卷的命令格式為“sodu docker run-v ~/container_data:/data-it ubuntu /bin/bash”,其中的“-v”參數(shù)可指定數(shù)據(jù)卷在本機文件系統(tǒng)中的目錄和在容器中映射的目錄名。

        在Ubuntu的終端窗口中執(zhí)行“docker run-it-v~/datavalume:/data ubuntu/bin/bash”命令,來創(chuàng)建包含數(shù)據(jù)卷的容器,其中的“~/datavalume”為本地目錄,處于當(dāng)前用戶的Home目錄下。如果該目錄不存在,命令運行后會自動創(chuàng)建?!?data”為容器中的目錄名。

        該命令運行后就啟動了該容器,執(zhí)行“l(fā)s”命令,在返回信息中可以看到名為“data”的目錄。在其中可以自由的存儲數(shù)據(jù),例如執(zhí)行“touch /data/c1”,“echo"this is new dictory">/data/c1”命令,可在其中創(chuàng)建一個新的文件并寫入數(shù)據(jù)。執(zhí)行“exit”命令退出容器,執(zhí)行“l(fā)s-l”命令,可看到本機上存在“datavolume”目 錄,執(zhí) 行“l(fā)s-l datavolume”命令,可看到在上述容器中存儲的數(shù)據(jù),這充分說明數(shù)據(jù)卷和容器是彼此獨立的。

        執(zhí) 行“docker ps -l”命令,顯示剛才創(chuàng)建的鏡像。執(zhí)行“docker inspect xxxxxxxxxxxx”命令,顯示該鏡像的元數(shù)據(jù),在其中顯示了上述數(shù)據(jù)卷信息,其中的“xxx”參數(shù)表示該鏡像的ID。為數(shù)據(jù)卷添加訪問權(quán)限的命令格式為“sudo docker run -v ~/datavolume:/data:ro -it ubuntu/bin/bash”。

        還以上述例子進(jìn)行說明,執(zhí) 行“docker run-it-v~/datavalume:/data:ro ubuntu/bin/bash”命令,創(chuàng)建一個鏡像,為其設(shè)置數(shù)據(jù)卷,并設(shè)置其擁有只讀權(quán)限。當(dāng)掛載了數(shù)據(jù)卷后,只能讀取其中的數(shù)據(jù),當(dāng)試圖向其中寫入數(shù)據(jù)時,系統(tǒng)就會提示出錯。

        執(zhí) 行“exit”命令退出容器,執(zhí)行“docker inspect rqt1”命令,在返回信息中的數(shù)據(jù)卷名稱后會顯示“VolumesRW:{"/data":false}”信息,說明其沒有寫權(quán)限。除了使用“run”命令,在創(chuàng)建容器時添加數(shù)據(jù)卷外,還可以使用Dockerfile指令創(chuàng)建包含數(shù)據(jù)卷的鏡像,并利用該鏡像創(chuàng)建容器。例如,執(zhí)行“vim Dockerfile”命令,在其中添加“From ubuntu:14.04”,“VOLUME [/datavolume1,/datavolume1]”,“CMD/bin/bash”行,其中使用了“Volume”指令創(chuàng)建了兩個數(shù)據(jù)卷。

        和上述命令不同,在Dockfile中創(chuàng)建的數(shù)據(jù)卷是無法映射到已經(jīng)存在的本地文件目錄中的。在鏡像構(gòu)建時指定的數(shù)據(jù)卷,會在容器創(chuàng)建時,創(chuàng)建指定名稱的數(shù)據(jù)卷。

        運行不同鏡像的不同容器,所創(chuàng)建的數(shù)據(jù)卷也是不同的。執(zhí)行“docker build-t dormancypress/xxx.”命令,構(gòu)建該鏡像,其中的“xxx”為鏡像名稱。執(zhí)行“docker run--name rqt3-it dormancypress/rqt”命令,運行名稱為“rqt3”容器。

        執(zhí) 行“l(fā)s” 命 令,在新建的容器中自動掛載 了“datavolume1” 和“datavolume2”兩個目錄。執(zhí)行“exit”命令退出容器,執(zhí) 行“docker inspect rqt3”命令,在返回信息中的“Volumes”欄中顯示上述兩個數(shù)據(jù)卷,與其對應(yīng)的本地路徑是Docker自動創(chuàng)建的。如果執(zhí)行“docker run--name rqt4-it dormancypress/rqt”等命令,創(chuàng)建新的容器,對其進(jìn)行檢測的話,會發(fā)現(xiàn)上述數(shù)據(jù)卷的路徑是迥然不同的。因此,按照這種方法創(chuàng)建的數(shù)據(jù)卷是無法在不同容器間共享的。

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

        為了解決該問題,可以使用數(shù)據(jù)卷容器(Data Container)來實現(xiàn)共享。數(shù)據(jù)卷容器指的是用命名的容器掛載數(shù)據(jù)卷,其他的容器通過掛載該容器實現(xiàn)數(shù)據(jù)共享,這樣的容器就是數(shù)據(jù)卷容器。在Docker主機中,數(shù)據(jù)卷容器掛載了一個本地目錄,其他容器通過連接該數(shù)據(jù)卷容器,來實現(xiàn)數(shù)據(jù)的共享。掛載數(shù)據(jù)卷容器的語法規(guī)則是“docker run--volume-from [CONTAINER NAME]”。例如,執(zhí)行“docker run --name rqt4 -it dormancypress/rqt”命令,創(chuàng)建名為“rqt4”的容器。

        進(jìn)入其中的“datavolume1”目錄,在其中存儲名為“test.c”的文件。執(zhí)行“exit”命令退出,執(zhí) 行“docker run--name rqt5 --volumes-from rqt4 ubuntu /bin/bash”命令,創(chuàng)建名為“rqt5”的容器,用來掛載上述“rqt4”容器。在該容器中執(zhí)行“l(fā)s”命令,可以看到已經(jīng)掛載了在“rqt4”中加載的“datavolume1”和“datavolume2”數(shù)據(jù)卷。執(zhí)行“l(fā)s /datavolume1”命令,可以顯示在其中存儲的文件。同理,在其中可以存儲更多的文件。

        當(dāng)退出該容器,執(zhí)行“docker run--name rqt6-volumes-from rqt4 ubuntu/bin/bash”命令,創(chuàng)建的新容器,依然可以看到上述數(shù)據(jù)卷,并在“datavolume1”中顯示所有存在的文件。

        這樣,通過使用名為“rqt5”的數(shù)據(jù)卷容器,就可以在不同的容器之間共享數(shù)據(jù)了。而且并不要求使用者確切的連接到已知的Docker宿主機的文件目錄,這對于多用戶的使用環(huán)境是很重要的,避免暴露Docker服務(wù)器的實際目錄信息。

        當(dāng)退出所有的容器 后, 執(zhí) 行“docker inspect-format="{{.volume}}"rqt5”命令,在返回信息中很清晰的看到,使用數(shù)據(jù)卷容器掛載數(shù)據(jù)卷,并不會直接的反映數(shù)據(jù)卷容器的信息,而直接顯示其所掛載的數(shù)據(jù)卷目錄。即使執(zhí)行“docker rm rqt4”命令,刪除掛載數(shù)據(jù)卷的容器,當(dāng)執(zhí) 行“docker attch rqt5”命令啟動“rqt5”等容器后,依然可以正常的訪問其掛載的目錄。

        通過數(shù)據(jù)卷容器來掛載數(shù)據(jù)卷,容器在其中的作用只是用來傳遞數(shù)據(jù)卷配置信息。執(zhí)行“docker run --name rqt8 -it dormancypress/rqt”命令,創(chuàng)建名為“rqt4”的容器。執(zhí)行“docker run--name rqt9--volumes-from rqt8 ubuntu/bin/bash”命令,來掛載“rqt8”容器。在該容器中的“datavolume1”目錄中寫入“newfile.sh”文件。之后退出該容器。執(zhí)行“docker rm -v rqt8”命令,刪除“rqt8”容器,其中的“-v”參數(shù)可以同時刪除其中的數(shù)據(jù)卷。但是,當(dāng)再次啟動“rqt9”容器,依然可以在其中的“datavolume1”目錄中查看到之前存儲的文件,并可以存儲新的文件。

        備份和恢復(fù)數(shù)據(jù)卷

        與備份相關(guān)的命令格式為“docker run --volumesfrom [container name]-v$(pwd):/backup ubuntu tar vcf /backup/backup.tar[container data volume]”。在該命令行中使用 了“--volumes-from”參數(shù)掛載了需備份數(shù)據(jù)的容器名,實際上是將當(dāng)前創(chuàng)建的容器指向參數(shù)中容器掛載的目錄。“-v”參數(shù)指定了需要保存數(shù)據(jù)的路徑,可以是當(dāng)前本機的路徑。將需要備份的數(shù)據(jù)容器與備份目錄,同時掛載到執(zhí)行備份命令的容器上,而需要備份數(shù)據(jù)的容器,實際上也是掛載在本機上的數(shù)據(jù)卷中。

        例如,執(zhí)行“cocker restart rqt5”,“docker attach rqt5”命令,重啟并登錄到“rqt5”容器上。當(dāng)需要備份中的“datavolume1”數(shù)據(jù)卷時,可以先退出該容 器,執(zhí) 行“docker run--name rqt10--volumesfrom rqt5 -/~beifen:/backup:wr ubuntu/bin/bash tar vcf/backup/rqt5.tar/datavolume1”命令,可以針對“rqt5”中的數(shù)據(jù)卷進(jìn)行備份,新建立的容器為“rqt10”,將其復(fù)制到本機中當(dāng)前用戶目錄下的“beifen”目錄中,“/backup”為容器中指定的目錄,“datavolume1”為需要備份的數(shù)據(jù)卷。當(dāng)執(zhí)行完畢后,在Docker主機本地上打開當(dāng)前用戶目錄,可以看到名為“beifen”的目錄,其中包含了備份的數(shù) 據(jù)。 執(zhí) 行“docker run--volumes-from [container name] -v$(pwd):/backup ubuntu tar xvf /backup/backup.tar [container data volume]”之類的命令,可以通過解壓還原操作,將備份的數(shù)據(jù)還原回去。

        猜你喜歡
        宿主機鏡像命令
        只聽主人的命令
        鏡像
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        移防命令下達(dá)后
        虛擬網(wǎng)絡(luò)實驗室在農(nóng)村職校計算機網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
        嵌入式計算機軟件測試關(guān)鍵技術(shù)的思考
        這是人民的命令
        嵌入式計算機軟件測試關(guān)鍵技術(shù)研究
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        精品人妻无码一区二区色欲产成人| 日本一区二区三区视频免费在线| 欧洲美熟女乱av亚洲一区| 婷婷五月六月综合缴情| 伊人网在线视频观看| 一本久久a久久精品综合| 精品在线视频在线视频在线视频 | 538亚洲欧美国产日韩在线精品| 亚洲中文乱码在线观看| 真人抽搐一进一出视频| 亚洲国产av导航第一福利网| 高清国产一级毛片国语| 偷拍熟女露出喷水在线91| 亚洲国产精品久久精品| 国产特级毛片aaaaaa高清| 亚洲精品aⅴ无码精品丝袜足| 国产亚洲精品综合一区二区| 黑人巨大精品欧美| 丰满人妻被黑人中出849| 亚洲欧美日韩高清一区二区三区| 亚洲长腿丝袜中文字幕| 国产精品极品美女自在线观看免费| 蜜臀aⅴ国产精品久久久国产老师| 欧美日本视频一区| 中文资源在线一区二区三区av| 亚洲欧美中文字幕5发布| 亚洲一区中文字幕在线电影网| 成人国产自拍在线播放| 免费久久久一本精品久久区| 狠狠色噜噜狠狠狠狠米奇777| 91精品全国免费观看青青| 亚洲一区二区三区18| 国产大片内射1区2区| 欧美日韩中文国产一区| 果冻国产一区二区三区| 亚洲一区二区免费在线观看视频| 亚洲国产成人无码av在线影院| 人妻丰满av无码中文字幕| 亚洲中文乱码在线视频| 日韩av激情在线观看| 在线国产小视频|