Postgres on Docker in Azure



我尝试在Azure Web App中运行Postgres Docker容器。 当我尝试将卷挂载到 Data 文件夹时,出现错误:致命:数据目录"/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 应用中使用持久性存储时,无法更改它的权限。所以它会导致错误:

致命:数据目录"/var/lib/postgresql/data"的所有权错误

在此处查看有关限制的更多详细信息。

最新更新