postgresql - 在 docker 和 OSX 中保存 PostgreSQL 数据

标签 postgresql docker

我有一个带有 postgreSQL 数据库的 OSX 主机(实际上是为 Redmine 试验的)。我想要的只是在销毁容器后能够保留数据,这样我就安全了,并且可以快速重新部署我的存储库。

如果我尝试在 Kitematic 中添加本地 Volume,容器将无法启动并出现错误:

initdb: could not create directory "/var/lib/postgresql/data/pg_xlog/archive_status":  Permission denied
initdb: removing contents of data directory "/var/lib/postgresql/data"
creating subdirectories ... 

我试过 chmod 777 -R 本地文件夹,但结果相同。 有没有人对此有任何解决方案或任何其他关于从 postgreSQL 和 docker 保存/保留数据的建议?

最佳答案

OSX 表示 boot2docker,Linux VM 将:

  • 仅挂载/Users(来自您的主机)
  • 仅保留来自 /var/lib/docker/var/lib/boot2docker 的数据

所以,/var/lib/postgresql 是:

  • 在 VM 中不可见(未安装)
  • 在 VM 中不可写或持久化

命令docker volume create应该使您能够在正确的路径中创建一个卷。
见:

关于postgresql - 在 docker 和 OSX 中保存 PostgreSQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36614330/

相关文章:

sql - 将日期范围拆分为列

mysql - gitlab 健康检查不健康

docker - 如何获取 docker 容器 root 的密码

scala - 在Spark独立模式下运行Spark Job Server时发生异常

ruby-on-rails - 添加带有 Rails 迁移错误的整数数组列

postgresql - 在plpgsql中初始化多维数组

arrays - Hibernate SQLQuery,如何获取数组和行对象?

docker - 如何在使用 Docker Compose 的同时高效地重建 go 项目?

node.js - 如何从一个 docker 容器获取正在运行的服务列表

jenkins - docker 和 Jenkins