postgresql - Azure 中 Docker 上的 Postgres
问题描述
我尝试在 Azure Web App 中运行 Postgres Docker 容器。当我尝试将卷挂载到 Data 文件夹时,出现错误:FATAL: data directory "/var/lib/postgresql/data" has wrong Ownership
我的撰写脚本:
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。
我怎样才能解决这个问题?(如果我不这样做,每次重启/容器更新都会丢失数据)
解决方案
对于这个问题,你可以看一下镜像的 Dockerfile postgres
。有一个步骤可以/var/lib/postgresql
使用以下命令更改目录的所有权:
chown -R postgres:postgres /var/lib/postgresql
但是当你在 Azure Web App 中使用持久化存储时,你不能改变它的权限。所以它会导致错误:
致命:数据目录“/var/lib/postgresql/data”的所有权错误
在此处查看有关限制的更多详细信息。
推荐阅读
- glsl - 使用 pixi-js 在 GLSL 中进行纹理缩放
- javascript - GoJS 调整图表每个元素的大小
- html - 两个相同的html元素有不同的尺寸
- python - 查找 Xpath 对每个登录都是唯一的元素
- python - 如何在pdf中提取输入字段的x0,y0坐标
- flutter - 在 DataTable 中显示所选单元格的详细数据
- java - 带有@Param null 参数的 JPA 仍然抛出错误
- javascript - 如何重新启动已设置间隔的倒数计时器?Javascript
- azure - 如何将 Ubuntu VM 从 Digital Ocean 迁移到 Azure
- reactjs - 材质 UI 工具提示未在嵌套组件上呈现