亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Docker將容器目錄掛載到主機上

發布時間:2022-05-30 09:39:50 來源:億速云 閱讀:1396 作者:zzz 欄目:開發技術

今天小編給大家分享一下如何使用Docker將容器目錄掛載到主機上的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、基本介紹

這里我們主要介紹 Docker 里的一個命令,叫做 --mount,其本質上來說和 --volume 命令并沒有太大區別,因為這兩個命令都是用來給容器提供一個掛載目錄。唯一的區別便是,容器的掛載類型不同,那么效果也會有所不同。

容器的掛載類型:

  • bind:將宿主機的指定目錄掛載到容器的指定目錄,以覆蓋的形式掛載(這也就意味著,容器指定目錄下的內容也會隨著消失)

  • volume在宿主機的 Docker 存儲目錄下創建一個目錄,并掛載到容器的指定目錄(并不會覆蓋容器指定目錄下的內容)

在有些時候,由于容器內的目錄有著特殊作用,并不能以覆蓋的形式進行掛載。但又想掛載到宿主機上,這時我們便可以使用 volume 類型的掛載方式。像我們上面所說的 --mount--volume 命令都是支持以這兩種類型的方式掛載,無非就是配置稍有不同。

兩種命令使用 bind 類型掛載區別:當宿主機上指定的目錄不存在時,我們使用 --volume 命令掛載時,便會自動的在宿主機上創建出相應目錄,而我們要是使用 --mount 命令來掛載,便會輸出 `` 報錯信息。

二、將容器目錄掛載到主機

1)使用 --volume 命令實現 bind 類型的掛載

[root@k8s-master01 ~]# docker run -d -it --name zhangsan \
-v /zhangsan:/usr/share/nginx/html \
nginx:1.21.0
[root@k8s-master01 ~]# echo "Hello World" > /zhangsan/index.html
[root@k8s-master01 ~]# docker exec -it zhangsan /bin/bash
root@3cad299c93aa:/# cd /usr/share/nginx/html/
root@3cad299c93aa:/usr/share/nginx/html# ls
index.html
root@3cad299c93aa:/usr/share/nginx/html# curl 127.0.0.1

如何使用Docker將容器目錄掛載到主機上

可以看到,當我們使用 bind 類型的掛載時,容器內指定的目錄原有內容會被覆蓋。

2)使用 --mount 命令實現 bind 類型的掛載

[root@k8s-master01 ~]# docker run -d -it --name wangwu \
--mount type=bind,source=/zhangsan,destination=/usr/share/nginx/html \
nginx:1.21.0
[root@k8s-master01 ~]# docker exec -it wangwu /bin/bash
root@474cf5ddd29f:/# cd /usr/share/nginx/html/
root@474cf5ddd29f:/usr/share/nginx/html# ls
index.html
root@474cf5ddd29f:/usr/share/nginx/html# curl 127.0.0.1

如何使用Docker將容器目錄掛載到主機上

我們上面指定 type=bind 類型的原因是因為 --mount 命令默認掛載的類型就是 volume 類型,所以需要指定。

--mount 命令掛載格式:

  • bind 掛載類型:--mount [type=bind] source=/path/on/host,destination=/path/in/container[,...]

  • volume 掛載類型:--mount source=my-volume,destination=/path/in/container[,...]

3)使用 --volume 命令實現 volume 類型的掛載

[root@k8s-master01 ~]# docker run -d -it --name volume \
-v zhangsan:/usr/share/nginx/html \
nginx:1.21.0
[root@k8s-master01 ~]# docker exec -it volume /bin/bash
root@dced26ccb8f0:/# cd /usr/share/nginx/html/
root@dced26ccb8f0:/usr/share/nginx/html# ls
50x.html  index.html

如何使用Docker將容器目錄掛載到主機上

4)使用 --mount 命令實現 volume 類型的掛載

[root@k8s-master01 ~]# docker run -d -it --name mount \
--mount source=mount,destination=/usr/share/nginx/html \
nginx:1.21.0
[root@k8s-master01 ~]# docker exec -it mount /bin/bash
root@7e63ca69f135:/# cd /usr/share/nginx/html/
root@7e63ca69f135:/usr/share/nginx/html# ls
50x.html  index.html

如何使用Docker將容器目錄掛載到主機上

查看宿主機的掛載目錄

如何使用Docker將容器目錄掛載到主機上

其實,使用 bind 或是 mount 類型的掛載方式,區別主要就是在于有 / 和沒 /,有 / 就會掛載到宿主機的指定目錄,沒有 / 則是會掛載到宿主機 Docker 所在的目錄中。

以上就是“如何使用Docker將容器目錄掛載到主機上”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广丰县| 息烽县| 云梦县| 聊城市| 揭阳市| 苏尼特右旗| 会理县| 河津市| 金乡县| 蒙城县| 普宁市| 沙田区| 松江区| 梁山县| 苍梧县| 古浪县| 阿勒泰市| 漠河县| 寿光市| 茂名市| 佛冈县| 汉源县| 张掖市| 揭西县| 五大连池市| 稻城县| 无为县| 客服| 甘肃省| 新密市| 和龙市| 怀仁县| 八宿县| 南陵县| 西安市| 罗江县| 尚义县| 柘城县| 拉萨市| 高安市| 西华县|