PostgreSQL保留数据:更好的命名卷或绑定挂载

时间:2019-03-18 19:10:47

标签: postgresql docker docker-volume

选项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来避免这种情况。

1 个答案:

答案 0 :(得分:0)

最终,绑定安装和Docker命名卷之间没有太大区别。

我倾向于将来自Docker服务的持久性数据保留在Docker卷中。然后,您可以使用诸如docker system df -v之类的工具来检查您的应用程序使用什么。

关于导出数据,您可以使用docker cp

docker cp someContainer:/somedir/ .