亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > docker容器的幾種存儲詳解

docker容器的幾種存儲詳解

熱門標簽:撫順移動400電話申請 威海人工外呼系統供應商 烏海智能電話機器人 做外呼系統的公司違法嗎 400電話申請方案 藍點外呼系統 貴陽教育行業電話外呼系統 在百度地圖標注車輛 寧夏房產智能外呼系統要多少錢

寫在前面

我們在上篇學習了容器網絡,對容器網絡驅動bridge工作原理做了較為詳細的介紹,今天小作文一起看看容器中另一個關鍵域-存儲。

容器的存儲可以分為兩大類:

一種是與鏡像相關的即我們在《docker容器技術基礎之聯合文件系統OverlayFS》一文提到的容器層Copy-On-Write特性。默認情況下,在容器內創建的所有文件都存儲在可寫容器層上,這種直接將文件存儲在容器層的方式數據難以持久化和共享,由于依賴存儲驅動與使用直接寫入主機文件系統的數據卷相比,這種額外的抽象會降低性能 。

另一中是宿主機存儲即通過將宿主機目錄綁定或掛在到容器中使用,容器停止后數據也能持久化。小作文主要介紹后者。

幾種存儲掛載方式

這里我們根據數據存儲在 Docker 主機上的不同位置繪制如下圖:

1.bind mounts

綁定掛載與卷相比,功能有限。使用綁定掛載時,主機上的文件或目錄會掛載到容器中。文件或目錄由其在主機上的完整路徑引用。目錄不需要已經存在于 Docker 主機上,如果不存在,docker會幫我們創建。 注意一下,只能自動創建目錄哦。

我們通過 -v 選項綁定掛載一個目錄 /nginx/html 到容器中看看

docker run -dt -v /nginx/html:/usr/share/nginx/html --name nginx nginx

通過docker inspect nginx 查看容器 Mounts字段

"Mounts": [
    {
        "Type": "bind",
        "Source": "/nginx/html",
        "Destination": "/usr/share/nginx/html",
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
    }
],

接著我們在docker主機上創建一個index.html并寫入hello nginx,然后訪問容器IP,顯然我們的掛載已經生效了。

[root@localhost ~]# echo "hello nginx" >  /nginx/html/index.html
[root@localhost ~]# curl 172.17.0.4
hello nginx

這里有一個問題,我們可以通過docker主機修改文件使容器內文件生效,反過來也一樣,容器可以修改、創建和刪除主機文件系統上的內容。處理這個問題我們可以在創建容器的時候配置掛載目錄的權限,比如下面的只讀權限:

docker run -dt -v /nginx/html:/usr/share/nginx/html:ro --name nginx nginx

所以在我們使用綁定掛載的時候,你操作的是主機文件系統,你必須清楚如下:

  • 你掛載的目錄包含哪些內容,以免對其他應用造成影響。
  • 你的容器是否應該有權操作這些目錄。

2.volumes

volume存儲卷由 Docker 創建和管理,我們可以使用該docker volume create命令顯式的創建卷,或者在容器創建時創建卷。

[root@localhost ~]# docker volume create nginx_volume
nginx_volume
[root@localhost volumes]# docker inspect  nginx_volume
[
    {
        "CreatedAt": "2021-08-12T01:58:04-04:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/nginx_volume/_data",
        "Name": "nginx_volume",
        "Options": {},
        "Scope": "local"
    }
]

可以看到掛載點處于docker的根目錄/var/lib/docker/volumes下

通過docker volume rm/prune 清除單個或所有未再使用的卷,可以通過docker 命令來管理卷是對比綁定掛載的一個優勢。

[root@localhost ~]# docker volume ls
DRIVER    VOLUME NAME
local     owncloud-docker-server_files
local     owncloud-docker-server_mysql
local     owncloud-docker-server_redis
[root@localhost ~]# docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
owncloud-docker-server_files
owncloud-docker-server_mysql
owncloud-docker-server_redis
​
Total reclaimed space: 199.4MB

在創建容器時如果未指定容器掛載的源則docker會自動為我們創建一個匿名卷,同樣位于docker根目錄下。

[root@localhost volumes]# docker run -dt -v /usr/share/nginx/html --name nginx_with_volume nginx
d25bdfce9c7ac7bde5ae35067f6d9cf9f0cd2c9cbea6d1bbd7127b3949ef5ac6
[root@localhost volumes]# docker volume ls 
DRIVER    VOLUME NAME
local     d8e943f57d17a255f8a4ac3ecbd6471a735aa64cc7a606c52f61319a6c754980
local     nginx_volume
[root@localhost volumes]# ls /var/lib/docker/volumes/
backingFsBlockDev  d8e943f57d17a255f8a4ac3ecbd6471a735aa64cc7a606c52f61319a6c754980  metadata.db  nginx_volume

當我們創建掛載卷之后,此時的存儲與bind mounts是一致,不過當 docker 主機不能保證具有給定的目錄或文件結構時,卷可幫助我們將 docker 主機的配置與容器運行時分離。這樣一來當我們需要將數據從一臺 Docker 主機備份、還原或遷移到另一臺時,卷就很方便了,可以脫離host path的限制。

在使用綁定掛載和卷時我們要注意下面傳播覆蓋原則:

掛載一個空卷時:容器內目錄的內容會傳播(復制)到卷中。

綁定掛載或非空卷時:容器內目錄的內容會被卷或綁定的主機目錄覆蓋。

3.tmpfs mount

tmpfs掛載僅適用于linux主機,當我們使用tmpfs掛載創建容器時,容器可以在容器的可寫層之外創建文件。將數據保留在內存中,當容器停止時,寫入的數據也將被移除。主要用于臨時存儲不想保留在主機或容器可寫層中的敏感文件。

通過--tmpfs選項掛載一個內存塊。

docker run -dt --name busybox_tmpfs --tmpfs /etc/running busybox

通過--mount的方式帶上參數,指定臨時存儲大小。

docker run -dt --name busybox_tmpfs2 --mount type=tmpfs,tmpfs-size=2048,destination=/etc/running busybox

存儲數據共享

在容器之間共享數據主要有兩種方法,第一種比較簡單,只需要將目錄或者volume掛載到多個容器中即可。這里不做贅述,我們來看一下通過中間容器實現共享的方式。

我們創建一個中間容器,包含綁定掛載目錄和一個卷。

docker create -v /share:/volume1 -v /volume2  --name volume_share  busybox

在我們需要共享的容器中通過選項--volumes-from拿過來用即可

docker run -d -t --volumes-from volume_share  --name container1  busybox

我們inspect檢查一下Mounts字段,此時container1已經掛載到了一個bind目錄和一個volume

"Mounts": [
    {
        "Type": "bind",
        "Source": "/share",
        "Destination": "/volume1",
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
    },
    {
        "Type": "volume",
        "Name": "21605e49a0ba90a1b952a32c1b3f0d42735da8bfe718f0dc76c37e91f1e51c0e",
        "Source": "/var/lib/docker/volumes/21605e49a0ba90a1b952a32c1b3f0d42735da8bfe718f0dc76c37e91f1e51c0e/_data",
        "Destination": "/volume2",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
],

關于docker容器存儲我們先學習到這,希望這篇小作文在你需要時對你有點用。

到此這篇關于docker容器的幾種存儲詳解的文章就介紹到這了,更多相關docker容器存儲內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:周口 銅川 朝陽 那曲 泰州 松原 慶陽 蕪湖

巨人網絡通訊聲明:本文標題《docker容器的幾種存儲詳解》,本文關鍵詞  docker,容器,的,幾種,存儲,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker容器的幾種存儲詳解》相關的同類信息!
  • 本頁收集關于docker容器的幾種存儲詳解的相關信息資訊供網民參考!
  • 推薦文章
    四虎影视久久久免费| 天天色成人网| 国产一区二区精品| 午夜在线亚洲| 国产91丝袜在线播放0| 九九久久国产精品大片| 成人高清免费| 成人a大片在线观看| 精品久久久久久影院免费| 成人免费一级纶理片| 成人免费一级纶理片| 久久久久久久男人的天堂| 韩国三级一区| 韩国毛片免费| 国产麻豆精品免费视频| 久久99青青久久99久久| 久久福利影视| 欧美1区2区3区| 久久99这里只有精品国产| 精品国产亚洲一区二区三区| 日韩一级黄色| 国产伦理精品| 亚洲天堂在线播放| 九九热国产视频| 麻豆污视频| 欧美一级视频高清片| 精品国产一区二区三区久| 欧美18性精品| a级毛片免费观看网站| 午夜激情视频在线播放| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品国产亚洲一区二区三区| 亚洲第一页乱| 国产亚洲精品成人a在线| 成人免费观看网欧美片| 欧美一级视频高清片| 香蕉视频亚洲一级| 亚欧视频在线| 国产欧美精品| 国产美女在线一区二区三区| 亚洲精品永久一区| 国产91丝袜在线播放0| 国产不卡精品一区二区三区| 欧美激情伊人| 久久99中文字幕久久| 国产成人女人在线视频观看| 精品久久久久久影院免费| 国产成+人+综合+亚洲不卡 | 亚洲精品永久一区| 久久国产精品自线拍免费| 国产伦理精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产伦久视频免费观看 视频| 欧美1区2区3区| 999精品视频在线| 国产一区二区福利久久| 韩国三级一区| 日本在线播放一区| 国产成人精品影视| 日韩在线观看网站| 韩国三级一区| 欧美激情一区二区三区在线播放 | 日韩中文字幕一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩免费在线| 99久久精品国产麻豆| 美女免费精品视频在线观看| 国产精品自拍一区| 亚洲第一色在线| 尤物视频网站在线| 欧美日本二区| 精品国产一区二区三区久| 香蕉视频亚洲一级| 国产美女在线一区二区三区| 国产激情一区二区三区| 国产高清在线精品一区a| 黄视频网站免费看| 精品国产一区二区三区久久久蜜臀 | 国产国语对白一级毛片| 一本高清在线| 精品在线免费播放| 精品国产一区二区三区久久久蜜臀 | a级黄色毛片免费播放视频| 九九热国产视频| 尤物视频网站在线| 国产视频一区在线| 亚洲天堂在线播放| 国产a视频精品免费观看| 色综合久久天天综线观看| 麻豆污视频| 999久久狠狠免费精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人免费高清视频| 成人在激情在线视频| 久久精品欧美一区二区| 国产欧美精品| 精品国产亚洲一区二区三区| 黄色短视屏| 午夜家庭影院| 精品视频在线观看一区二区| 国产成人精品影视| 日韩欧美一二三区| 欧美a级大片| 欧美激情一区二区三区在线| 国产成+人+综合+亚洲不卡 | 欧美激情影院| 久草免费在线观看| 成人免费网站久久久| 久久精品免视看国产成人2021| 亚洲 激情| 精品国产一区二区三区久久久蜜臀 | 成人免费网站久久久| 国产成人精品综合久久久| 美女被草网站| 久久精品大片| 国产麻豆精品高清在线播放| 国产成人精品综合久久久| 亚欧成人乱码一区二区 | 国产精品自拍一区| 亚洲天堂在线播放| 四虎久久精品国产| 欧美国产日韩精品| 九九久久99综合一区二区| 91麻豆精品国产自产在线观看一区| 国产亚洲免费观看| 黄视频网站免费看| 日韩一级黄色| 欧美激情一区二区三区视频高清 | 日本在线不卡视频| 国产亚洲免费观看| 日韩欧美一二三区| 国产亚洲精品成人a在线| 亚洲第一色在线| 日韩av片免费播放| 欧美激情一区二区三区在线播放 | 日韩在线观看网站| 一级女性全黄久久生活片| 香蕉视频久久| 九九久久99综合一区二区| 成人免费网站久久久| 国产伦久视频免费观看 视频| 99色视频在线观看| 国产一区二区精品| 成人a大片在线观看| 精品视频在线看| 青草国产在线观看| 韩国毛片免费| a级黄色毛片免费播放视频| 日韩中文字幕在线亚洲一区| 欧美一区二区三区在线观看| 午夜在线影院| 午夜精品国产自在现线拍| 精品久久久久久综合网| 久久99这里只有精品国产| 亚洲爆爽| 成人免费一级纶理片| 日韩一级黄色片| 亚欧视频在线| 国产韩国精品一区二区三区| 四虎久久精品国产| 精品视频免费看| 欧美国产日韩一区二区三区| 久久久成人网| 成人高清视频在线观看| 国产成人精品综合久久久| 欧美18性精品| 超级乱淫伦动漫| 二级片在线观看| 欧美爱爱网| 欧美18性精品| 国产韩国精品一区二区三区| 成人高清视频在线观看| 精品国产一区二区三区国产馆| 国产精品免费久久| 欧美国产日韩精品| 成人高清视频在线观看| 亚洲第一色在线| 国产美女在线一区二区三区| 精品视频在线观看免费| 999精品在线| 久久精品店| 一级毛片视频播放| 久久精品欧美一区二区| 国产不卡福利| 日韩专区亚洲综合久久| 精品久久久久久影院免费| 国产一区二区精品久| 国产国语对白一级毛片| 韩国毛片| 99色视频在线观看| 国产成人精品综合久久久| 国产成人精品综合久久久| 九九干| 毛片高清| 国产亚洲精品成人a在线| 午夜欧美成人久久久久久| 99久久精品国产高清一区二区| 麻豆系列 在线视频| 精品视频在线观看免费| 国产视频网站在线观看|