簡體   English   中英

Docker卷:在遠程主機上保留數據

[英]Docker volume: persist data on a remote host

https://docs.docker.com/storage/#more-details-about-mount-types

卷的好用例

  • 如果要將容器的數據存儲在遠程主機或雲提供程序上,而不是本地存儲。

這是如何用docker音量完成的? 主機的/ var / lib / docker下不是docker卷嗎?

你能給我一個關於“碼頭量創造”的例子以及如何利用它嗎?

是的,卷是在/ var / lib / docker / volumes /下創建的,因此您需要將此卷與要保留的文件夾或要保留數據的位置相關聯。

例:

您的圖像名為ImageExample,項目位於/ var / www / MyProject /下。

首先,您需要創建新卷並指定名稱。

$ docker volume create --name VolumeExample

# if you run: docker volume ls, they list all your volumes available

$ docker volume ls
DRIVER              VOLUME NAME
local               JbpmVolume1
local               VolumeExample

其次,您必須將新卷鏈接到容器中的文件夾。

$ docker run -v VolumeExample:/var/www/MyProject/ -p 8080:8080 MyImage

其中run是創建容器的命令,-p是映射本地端口和主機端口,MyImage是本例中使用的映像,VolumeExample是之前創建的卷,而/ var / www / MyProject /是你的示例文件夾需要堅持下去。

您也可以使用此卷來存儲應用程序配置,數據庫數據或配置等。 也許,取決於你需要存儲什么,你可以使用bind mount或卷,或者如果你的主機在linux中,你可以使用tmpfs mounts。

就這么簡單,您可以在docker網頁上閱讀更多相關內容,但基本上這是如何使用卷。 每次停止/啟動或創建/刪除容器時,卷中的數據都將保留。

我是這樣做的,因為這不是你想要的“快樂路徑”。 在將數據存儲到文件夾之前必須先裝入,因為在裝入卷時,該文件夾將為空,因為該卷為空。 如果在裝入卷之前文件夾中有數據,則數據將不可見。 因此,它取決於您的項目創建卷的方式,但基本上,使用這兩個命令將卷裝入主機容器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM