它与使用-v / path / to / data / in / container:/ home / user / a_good_place_to_have_data装入文件夹中的数据有何不同?
这是因为,如“将主机目录装载为数据卷 ”中所述
主机目录从本质上说是依赖于主机的。因此,您不能从Dockerfile挂载主机目录,因为构建的映像应该是可移植的。主机目录并非在所有潜在主机上都可用。
如果您有一些持久性数据要在容器之间共享,或者要从非持久性容器中使用,则最好创建一个命名的数据卷容器,然后从中装入数据。
您可以将两种方法结合使用:
docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
在这里,我们启动了一个新容器,并从该dbdata
容器装入了卷。 然后,我们将本地主机目录挂载为/backup
。
最后,我们传递了一个命令,该命令用于tar
将dbdata
卷的内容备份到目录backup.tar
内的/backup
文件中。当命令完成并且容器停止时,我们将获得dbdata
卷的备份。