Docker 卷:在远程主机上持久化数据
Docker volume: persist data on a remote host
https://docs.docker.com/storage/#more-details-about-mount-types
Good use cases for volumes
- When you want to store your container’s data on a remote host or a cloud provider, rather than locally.
docker 音量是如何实现的? docker 卷不在主机的 /var/lib/docker 之下吗?
你能给我举个例子吗?"docker volume create" 以及如何使用它?
是的,卷是在 /var/lib/docker/volumes/ 下创建的,因此您需要 link 此卷包含您要保留的文件夹或要保留数据的位置。
示例:
您的图片名为 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
其次,您必须 link 将新卷添加到容器中的文件夹中。
$ docker run -v VolumeExample:/var/www/MyProject/ -p 8080:8080 MyImage
其中运行是创建容器的命令,-p是映射本地和主机端口,MyImage是本例使用的镜像,VolumeExample是之前创建的volume /var/www/MyProject/ 是您需要保留的示例文件夹。
您可以使用此卷来存储应用程序配置、数据库数据或配置等等。也许,取决于你需要存储什么,你可以使用绑定挂载或卷,或者如果你的主机在 linux,你可以使用 tmpfs 挂载。
就这么简单,您可以在 docker 网页中阅读更多相关信息,但基本上这就是使用卷的方法。每次您 stop/start 或 create/delete 容器时,卷中的数据都会保留。
我是这样做的,因为这不是你想要的"happy path"。在将数据存储到文件夹之前必须先挂载,因为当您挂载卷时,文件夹将是空的,因为卷是空的。如果在安装卷之前文件夹中有数据,则数据对您不可见。因此,创建卷的方式取决于您的项目,但基本上,使用这两个命令,您可以将卷安装到主机容器中。
https://docs.docker.com/storage/#more-details-about-mount-types
Good use cases for volumes
- When you want to store your container’s data on a remote host or a cloud provider, rather than locally.
docker 音量是如何实现的? docker 卷不在主机的 /var/lib/docker 之下吗?
你能给我举个例子吗?"docker volume create" 以及如何使用它?
是的,卷是在 /var/lib/docker/volumes/ 下创建的,因此您需要 link 此卷包含您要保留的文件夹或要保留数据的位置。
示例:
您的图片名为 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
其次,您必须 link 将新卷添加到容器中的文件夹中。
$ docker run -v VolumeExample:/var/www/MyProject/ -p 8080:8080 MyImage
其中运行是创建容器的命令,-p是映射本地和主机端口,MyImage是本例使用的镜像,VolumeExample是之前创建的volume /var/www/MyProject/ 是您需要保留的示例文件夹。
您可以使用此卷来存储应用程序配置、数据库数据或配置等等。也许,取决于你需要存储什么,你可以使用绑定挂载或卷,或者如果你的主机在 linux,你可以使用 tmpfs 挂载。
就这么简单,您可以在 docker 网页中阅读更多相关信息,但基本上这就是使用卷的方法。每次您 stop/start 或 create/delete 容器时,卷中的数据都会保留。
我是这样做的,因为这不是你想要的"happy path"。在将数据存储到文件夹之前必须先挂载,因为当您挂载卷时,文件夹将是空的,因为卷是空的。如果在安装卷之前文件夹中有数据,则数据对您不可见。因此,创建卷的方式取决于您的项目,但基本上,使用这两个命令,您可以将卷安装到主机容器中。