我尝试在 Azure Web 应用程序中运行 Postgres Docker 容器。 当我尝试将卷安装到数据文件夹时,出现错误:致命:数据目录“/var/lib/postgresql/data”拥有错误的所有权
我的撰写脚本:
version: "3"
services:
db:
image: postgres:11.2
environment:
- POSTGRES_USER=test
- POSTGRES_PASSWORD=test
- POSTGRES_DB=test
volumes:
- ${WEBAPP_STORAGE_HOME}/data:/var/lib/postgresql/data
ports:
- "5433:5432"
Docker 主机设置为 Linux。
我该如何解决这个问题? (如果我不这样做,每次重新启动/容器更新时数据都会丢失)
最佳答案
对于这个问题,您可以查看镜像postgres
的Dockerfile。有一个步骤可以使用以下命令更改目录 /var/lib/postgresql
的所有权:
chown -R postgres:postgres /var/lib/postgresql
但是当您在Azure Web App中使用持久存储时,您无法更改其权限。所以它会导致错误:
FATAL: data directory "/var/lib/postgresql/data" has wrong ownership
查看有关限制的更多详细信息 here .
关于postgresql - Azure 中 Docker 上的 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62384620/