如何解决将Docker PostgreSQL数据存储到Azure存储帐户
告诉我如何在Azure存储帐户中存储PostgreSQL数据库数据。 PostgreSQL部署到Azure容器实例。当我重新启动Azure容器实例时,所有数据都会消失。 Dockerfile
FROM timescale / timescaledb:latest-pg12
ENV POSTGRES_USER = admin
POSTGRES_DB = dev-timescaledb
POSTGRES_PASSWORD =密码
PGDATA = / var / lib / postgresql / data / pgdataCMD [“ postgres”,“-c”,“ max_connections = 500”]
用于创建容器实例和安装存储帐户的命令
az容器create --resource-group test-env --name test-env --image test-env.azurecr.io/timescale:latest --registry-username test-env --registry-password“注册表密码” --dns-name-label test-env --ports 5432 --cpu 2-内存5 --azure-file-volume-account-name testenv --azure-file-交易帐号键 “帐户密钥” --azure-file-volume-share-name'postgres-data'--azure-file-volume-mount-path'/ var / lib / postgresql / data'
但我遇到了错误
数据目录“ / var / lib / postgresql / data / pgdata”具有错误的所有权 服务器必须由拥有数据目录的用户启动。
解决方法
这是由现有问题引起的,当您将Azure文件共享安装到容器实例时,无法更改安装点的所有权。目前尚无法解决。您可以在SO中找到相同的问题。我建议您将AKS与disk volume一起使用,它将解决Postgres持久存储数据的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。