选项1 :(已命名容器。该卷由其名称标识。它将数据存储在/ var / lib / docker / volumes / volumes / volumes中)
# create the volume in advance
$ docker volume create test_vol
选项:2(此处卷bind-test
的名称无关紧要,重要的是它安装到的本地路径/home/user/test
,这是持久性的。而不是/var/lib/docker/volume/somevolumename
{{1 }}更具可读性。缺点:我们必须确保/home/user/somedatafolder
存在。)
/home/user/somedatafolder
绑定安装的缺点是,它将由容器管理的文件以及容器中的uid / gid放置在主机上其他用户可能使用的路径内,并且主机上通常使用其他uid / gid 。结果是主机上或容器内的权限问题。您需要在两者之间对齐uid / gid来避免这种情况。
答案 0 :(得分:0)
最终,绑定安装和Docker命名卷之间没有太大区别。
我倾向于将来自Docker服务的持久性数据保留在Docker卷中。然后,您可以使用诸如docker system df -v
之类的工具来检查您的应用程序使用什么。
关于导出数据,您可以使用docker cp
docker cp someContainer:/somedir/ .