欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Docker存儲管理方式以及容器數據的備份與恢復

這篇文章主要講解了“Docker存儲管理方式以及容器數據的備份與恢復”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Docker存儲管理方式以及容器數據的備份與恢復”吧!

我們提供的服務有:成都網站建設、成都網站設計、微信公眾號開發(fā)、網站優(yōu)化、網站認證、城子河ssl等。為超過千家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的城子河網站制作公司

01 Docker存儲概覽

默認情況下容器中所有創(chuàng)建的文件及數據都被存儲在了容器的可寫層,如果按默認操作會有如下問題:

1)容器被刪除數據不會保存,同時如果另外一個進程想要調用容器中數據也非常困難;

2)容器的可寫層與運行容器的主機緊密耦合,無法輕松地將數據移動到其它地方;

3)容器數據寫入容器可寫層需要使用Storage  driver(容器存儲驅動)來管理文件系統(tǒng)進行寫操作,因為多了這一層導致其比直接將數據寫入主機的文件系統(tǒng)的效率低很多。

針對上述問題,Docker 提供了四種不同的方式將數據從 Docker 主機直接掛載到容器中,分別為卷(volumes),綁定掛載(bind  mounts),臨時文件系統(tǒng)(tmpfs)及命名通道(named pipe),這四種方式的named  pipe是windows系統(tǒng)獨有的(因為實際工作中容器大多都是部署在linux系統(tǒng)上的,所以本篇文章我們主要介紹前三種掛載方式)。卷(volumes),綁定掛載(bind  mounts)及臨時文件系統(tǒng)(tmpfs)這三種掛載方式特點如下:

Docker存儲管理方式以及容器數據的備份與恢復

1)卷存儲在 Docker 管理的主機文件系統(tǒng)的一部分中(/var/lib/docker/volumes/)中,完全由 Docker  管理,卷存儲是docker數據保存最推薦的方法;

2)bind mounts  綁定掛載,可以存儲在主機系統(tǒng)上的任何位置,甚至可以是重要的系統(tǒng)文件或目錄,Docker主機或Docker容器上的非Docker進程可以隨時對其進行修改;

3)tmpfs 僅存儲在主機系統(tǒng)的內存中,而不會寫入主機的文件系統(tǒng)。

下面我們就來看看怎么創(chuàng)建這三種存儲方式吧!

02 卷(volumes)

卷是這三種存儲方式中唯一使用Docker來創(chuàng)建與管理的,卷的推薦使用場景如下:

1)在多個運行容器進行數據共享;

2)當您要將容器的數據存儲在遠程主機或云上時;

3)當您需要將數據從一臺Docker主機備份,還原或遷移到另一臺Docker主機時,卷是一個更好的方案;

4)容器中程序需要更好的IO性能。

下面我們看看如何使用docker命令來操作卷

(1) 查看卷列表

1. # 查看卷列表   2. # docker volume ls
Docker存儲管理方式以及容器數據的備份與恢復

(2) 創(chuàng)建卷

創(chuàng)建卷的具體命令如下:

1. # 創(chuàng)建卷   2. # docker volume create [Volume Name]

我們現在創(chuàng)建一個volume2,同時查看創(chuàng)建卷的詳細參數,操作如下

1. # 創(chuàng)建卷   2. # docker volume create volume2   3. #    4. # 查看volume2的詳細信息   5. # docker volume inspect volume2
Docker存儲管理方式以及容器數據的備份與恢復

(3) 掛載卷

掛載卷是在創(chuàng)建容器時進行綁定的,在創(chuàng)建容器docker container  run后面加參數進行卷的掛載,其掛載有兩種方式一種通過-v掛載一種通過--mount,-v用于單獨的容器掛載而—mount一般用于docker  service(也就是docker swarm),下面是這兩個參數的具體說明:

1. -v:

2. 由三個由冒號(:)分隔的字段組成,[HOST-DIR:]CONTAINER-DIR[:OPTIONS]

3. 1)HOST-DIR 代表主機上的目錄或數據卷的名字。省略該部分時,會自動創(chuàng)建一個匿名卷。如果是指定主機上的目錄,需要使用絕對路徑。

4. 2)CONTAINER-DIR 代表將要掛載到容器中的目錄或文件,即表現為容器中的某個目錄或文件

5. 3)OPTIONS 代表配置,例如設置為只讀權限(ro),此卷僅能被該容器使用(Z),或者可以被多個容器使用(z)。多個配置項由逗號分隔。

6.

7. --mount:

8.  由多個鍵值對組成,鍵值對之間由逗號分隔。例如:type=volume,source=volume2,destination=/volume2,ro=true

9. 1)type,指定類型,可以指定為 bind,volume,tmpfs。

10. 2)source,當類型為 volume 時,指定卷名稱,匿名卷時省略該字段。當類型為 bind,指定路徑??梢允褂每s寫 src。

11. 3)destination,掛載到容器中的路徑??梢允褂每s寫 dst 或 target。

12. 4)ro 為配置項,多個配置項直接由逗號分隔一般使用 true 或 false。

下面我們-v命令進行卷掛載具體操作如下:

1. #創(chuàng)建容器test10,并通過-v進行卷volume1掛載,將volume1掛載到容器file1目錄   2. docker container run -it --name test10 --hostname test10 \    3. -v volume1:/file1 centos /bin/bash
Docker存儲管理方式以及容器數據的備份與恢復

我們可以通過如下命令查看容器test10與volume的映射關系

1. #查看容器詳細的配置信息  2. docker container inspect test10
Docker存儲管理方式以及容器數據的備份與恢復

(4) 刪除卷

現在我們來看看刪除卷的命令格式

1. # 刪除卷   2. docker volume rm [volume name]

我們刪除剛才創(chuàng)建的卷volume2具體操作如下

Docker存儲管理方式以及容器數據的備份與恢復

03 綁定掛載(bind mounts)

自docker發(fā)布以來就支持綁定掛載了,綁定掛載支持的功能相較于卷來說比較有限。綁定掛載通過將主機上的目錄綁定到容器中,容器就可以操作和修改主機上該目錄的內容。綁定掛載性能非常好,但是它們依賴于具有特定目錄結構的主機文件系統(tǒng)。

綁定掛載的參數與卷一致,可以通過-v或者—mount進行掛載,-v用于單獨的容器掛載而—mount一般用于docker  service。我們在本地主機上創(chuàng)建目錄bind_mount_test,同時在目錄中創(chuàng)建一個文件file1,然后將該目錄綁定掛載到容器/home/bind_mount_test目錄具體操作如下:

1. # 創(chuàng)建容器test1,同時將目錄bind_mount_test綁定到容器的/home/bind_mount_test目錄   2. docker container run -it -v \   3.    /root/bind_mount_test:/home/bind_mount_test --name test1 centos /bin/bash
Docker存儲管理方式以及容器數據的備份與恢復

綁定掛載的主機目錄如果不存在,則會自動創(chuàng)建該目錄,現在我們給主機目錄bind_mount_test中再創(chuàng)建一個文件file2.txt并輸入內容"kan  dao  ma",我們看看在容器中是否能夠看到,同時我們在容器test1的bind_mount_test目錄中創(chuàng)建一個文件file3.txt,看看在主機上是否能夠查看到,具體操作如下

Docker存儲管理方式以及容器數據的備份與恢復

通過上述操作我們可以發(fā)現通過綁定掛載的容器目錄其實完全由主機的文件系統(tǒng)進行管理,而不像卷是通過docker自己管理的,所以像目錄的權限,SELINUX  等問題都需要我們自己來管理。

04 臨時文件系統(tǒng)(tmpfs)

卷與綁定掛載主要是用于主機和容器之間共享文件,容器停止后數據還可以保留,tmpfs掛載是臨時的,數據保留在主機內存中的,當容器停止后數據就會被刪除。該掛載方式的數據不能在兩個容器間進行共享,同時該掛載方式只支持linux系統(tǒng)。

tmpfs掛載也有兩個命令參數,一個是—tmps另外一個是—mount,跟卷與綁定掛載類似,--tmpfs用于單個容器掛載—mount用于docker  service掛載。下面我們通過—tmpfs來將容器app目錄掛載到內存中,具體操作如下:

1. # 創(chuàng)建容器tmptest,同時通過tmpfs命令將app目錄掛載到內存中   2. docker container run -it --name tmptest --tmpfs /app centos /bin/bash
Docker存儲管理方式以及容器數據的備份與恢復

05 數據卷容器

上面的章節(jié)我們了解了容器的幾種存儲方式,如果我們想要容器間共享一些實時更新的數據該怎么操作呢,其實docker給出了解決方案就是用戶數據卷容器。數據卷容器通過卷方式掛載文件目錄,其他容器通過掛載這個容器實現數據共享,這個掛載數據卷的容器就叫做數據卷容器。數據卷容器就是一種普通容器,它專門提供數據卷供其它容器掛載使用。現在我們看看怎么通過數據卷容器實現數據的共享,具體操作如下:

1)創(chuàng)建數據卷test_volume,同時創(chuàng)建一個數據卷容器(其實就是普通容器),將這個創(chuàng)建的卷掛載到數據卷容器中

1)創(chuàng)建數據卷test_volume,同時創(chuàng)建一個數據卷容器(其實就是普通容器),將這個創(chuàng)建的卷掛載到數據卷容器中 1. # 創(chuàng)建卷test_volume   2. docker volume create test_volume   3.    4. #創(chuàng)建數據卷容器data_container,同時將test_volume卷掛載到該容器的share_dir目錄   5. docker container run -it -v test_volume:/share_dir \   6.    --name data_container --hostname data_container centos /bin/bash
Docker存儲管理方式以及容器數據的備份與恢復

2)創(chuàng)建兩個普通容器test100與test200同時繼承數據卷容器所掛載的數據卷

1. # 創(chuàng)建容器test100,--volumes-from命令用于繼承指定數據卷容器   2. docker container run -it --volumes-from data_container  \   3.     --name test100 --hostname test100 centos /bin/bash   4.    5. # 創(chuàng)建容器test200,--volumes-from命令用于繼承指定數據卷容器   6. docker container run -it --volumes-from data_container  \   7.     --name test200 --hostname test200 centos /bin/bash
Docker存儲管理方式以及容器數據的備份與恢復

3)我們在容器test100與test200中分別對文件file1.txt進行操作,最后我們在數據卷容器中查看file1.txt文件是否在實時更新

Docker存儲管理方式以及容器數據的備份與恢復

通過上述操作我們可以發(fā)現通過數據卷容器可以實現不同容器間的數據共享需求。

06 容器數據備份與恢復

(1) 數據備份

如果我們想對剛才的數據卷容器的數據卷中數據進行備份,可以創(chuàng)建一個備份容器,該容器繼承數據卷容的數據卷,從而實現數據的備份。其實就是創(chuàng)建一個備份容器通過掛載綁定方式將主機文件目錄掛載到備份容器中,然后在備份容器中將繼承的數據卷目錄備份到綁定掛載映射的目錄,從而實現了數據的備份具體操作如下:

1. # 創(chuàng)建備份容器,然后該容器不僅繼承數據卷容器的數據卷同時通過掛載綁定方式掛載主機系統(tǒng)備份目錄   2. # 通過在容器中執(zhí)行tar命令將數據卷映射的目錄share_dir備份到掛載綁定映射的目錄backup中   3. docker container run --volumes-from data_container \    4.      -v /root/backupfile:/backup centos tar cvf /backup/backup.tar /share_dir/
Docker存儲管理方式以及容器數據的備份與恢復

(2) 數據恢復

數據恢復其實跟備份類似,我們創(chuàng)建一個新容器同時將在主機系統(tǒng)備份目錄通過掛載綁定的方式掛載到新容器中,然后通過在容器中執(zhí)行tar包的解壓縮命令就可以將數據進行恢復了具體操作如下:

Docker存儲管理方式以及容器數據的備份與恢復

感謝各位的閱讀,以上就是“Docker存儲管理方式以及容器數據的備份與恢復”的內容了,經過本文的學習后,相信大家對Docker存儲管理方式以及容器數據的備份與恢復這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!

分享名稱:Docker存儲管理方式以及容器數據的備份與恢復
網站URL:http://aaarwkj.com/article16/pdhodg.html

成都網站建設公司_創(chuàng)新互聯,為您提供定制開發(fā)、自適應網站移動網站建設、域名注冊全網營銷推廣、外貿網站建設

廣告

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

成都app開發(fā)公司
日日夜夜精品天天综合| 中文字幕日本专区人妻| 成人精品午夜福利视频| 亚洲品质一区二区三区| 日韩一二卡在线观看视频| av男人的天堂在线免费| 凹凸69堂国产成人精品| 中文字幕在线视频黄字幕| 亚洲第一毛片免费在线观看| 日本人妻精品在线观看| 日韩成人激情在线观看| 日韩最新人妻在线不卡| 精品免费av在线播放| 中文字幕av在线日韩| 中文字幕加勒比东京热| 国产黄色一区二区三区| 91综合午夜精品福利| 哪里可以看日韩免费毛片| 欧美三级精品三级在线| 亚洲一区二区三区日本在线 | 日韩中文字幕视频久久| 91成人大片在线观看| 久久视热频这里只有精品| 毛茸茸的阴户在线观看| 午夜剧场福利在线观看| 国产精品亚洲精品日韩在线| 久久精品国产亚洲av清纯 | 蜜臀综合亚洲国产精品| 国产精品黄色91熟女| 日本91免费在线观看| 欧美香蕉高清视频免费| 丁香六月色婷婷亚洲激情| 色呦呦一区二区三区视频| 国产精品综合av一区二区国产馆| 国产美女冒白浆视频免费| 亚洲欧美日韩另类精品一区二区三区| 欧美丰满老妇性猛交| 成人精品国产一区二区| 欧美日韩精品免费在线观看| 极品少妇一级人妻av| 男女午夜激情啪啪视频|