日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker:使用本地卷和tmpfs挂载

發布時間:2023/12/4 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker:使用本地卷和tmpfs挂载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

卷是為Docker容器保留數據的首選方法。

在本文中,將展示如何創建和使用卷來實現持久性,以及如何使用tmpfs來實現臨時存儲。

最簡單的說,創建和安裝由本地目錄支持的卷如下所示:

# make host directory mkdir -p /data# create docker volume from host directory sudo docker volume create --driver local --opt type=none --opt device=/data --opt o=bind --name=test# mount volume within container sudo docker run -it --mount source=test,target=/mymount alpine:latest /bin/df -h /mymount



卷安裝

現在,讓我們看一個具體的示例,其中有一個運行Apache2的容器,該容器從其Web根傳遞內容。

在github上創建了一個名為fabianlee / alpine-voltest的項目,并將其推送到docker hub。

該Dockerfile很小,僅擴展了alpine-apache映像,然后通過在從容器提供Web內容的目錄中添加一個卷,將其進一步擴展了。

FROM fabianlee/alpine-apache:2.4.41-r0 ... VOLUME "/var/www/localhost/htdocs/"


讓已打包好的狀態運行容器,不裝入任何卷。

sudo docker run -d --rm --name alpine-voltest -p 8080:80 fabianlee/alpine-voltest:1.0.0


打開本地Docker主機上的瀏覽器端口8080。

返回的內容是放置在“ / var / www / localhost / htdocs”目錄中的容器上的默認index.html。

繼續并立即停止容器。

sudo docker stop alpine-voltest

但是,如果將本地卷安裝到該容器目錄,則可以控制該卷從該Web服務器傳遞的內容。

# create local host content sudo mkdir -p /data/test echo "<h1>This is mounted on the docker host at /data/test/index.html</h1>" | sudo tee /data/test/index.html# create docker volume from host directory sudo docker volume create --driver local --opt type=none --opt device=/data/test --opt o=bind --name=test# volume details sudo docker volume inspect test# create container that uses test volume, mounts at web root sudo docker run -d --rm --name alpine-voltest -p 8080:80 --mount source=test,target=/var/www/localhost/htdocs fabianlee/alpine-voltest:1.0.0


現在,瀏覽器將返回以下內容,即我們放入本地docker主機文件“ /data/test/index.html”中的內容。



再次停止容器。

sudo docker stop alpine-voltest# list volumes sudo docker volume ls


即使容器停止后,這些文件仍保留在主機上,以后的容器實例也可以重新掛載該卷。

初始數量人口

如果使用不存在的卷名啟動容器,則將創建一個新的卷。此外,如果主機目錄完全為空,則容器的內容將填充(復制到)本地主機卷目錄中。


# start container, allow it to create volume and populate sudo docker run -d --rm --name alpine-voltest -p 8080:80 --mount source=newtest,target=/var/www/localhost/htdocs fabianlee/alpine-voltest:1.0.0# volume details sudo docker inspect newtest | grep -i Mountpoint# get list of files in new volume (should now contain index.html) sudo ls -l /<dockerhome/volumes/newtest/_data# stop container sudo docker stop alpine-voltest# data still persists, but can be deleted sudo docker system prune sudo docker volume prune


臨時文件系統

對于只能由單個容器使用的小型臨時存儲空間,有tmpfs文件系統。它僅由主機系統上的RAM存儲支持。

創建安裝在/ tempdisk的2Mb臨時磁盤空間


創建安裝在/ tempdisk的4Mb tmpfs空間,然后將文件寫入:


總結

以上是生活随笔為你收集整理的Docker:使用本地卷和tmpfs挂载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。