https://docs.docker.com/storage/#more-details-about-mount-types
卷的良好用例
- 如果要将容器的数据存储在远程主机或云提供程序上,而不是本地存储。
这是如何通过泊坞窗音量完成的?主机&var / lib / docker下的Aren#docker卷?
你能给我一个例子" docker volume create"这个以及它如何被利用?
答案 0 :(得分:3)
是的,卷是在/ 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挂载。
就这么简单,你可以在docker网页上阅读更多相关内容,但基本上这就是如何使用卷。每次停止/启动或创建/删除容器时,卷中的数据都将保持不变。
我这样做,因为这不是你想要的“快乐路径”。在将数据存储到文件夹之前必须先装入,因为在装入卷时,该文件夹将为空,因为该卷为空。如果在装入卷之前文件夹中有数据,则数据将不可见。因此,它取决于您的项目创建卷的方式,但基本上,使用这两个命令将卷装入主机容器。