[英]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.