postgresql - Azure 中 Docker 上的 Postgres

标签 postgresql azure docker docker-compose azure-web-app-service

我尝试在 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/

相关文章:

laravel - 在LaravelProject中调用未定义函数Xinax\LaravelGettext\bindtextdomain()错误

docker - 如何解释Docker容器的端口信息

django - 为什么 django test --keep-db 适用于 postgres 数据库但不适用于默认的 sqlite3

azure - Azure 逻辑应用程序与 IIS 中的 Workflow Foundation 和 WCF 托管到 Service Fabric 相比如何

c# - Application Insights - ILogger 参数呈现为自定义维度中的对象名称

Windows Azure 免费帐户

docker - docker上magento2的Elasticsearch设置给出 “no alive nodes”错误

SQLite/Postgres SQL 查询不同列

postgresql - 带有like子句和foreign-key/belongs-to子句的GORM查询出现问题

sql - PostgreSQL 中不同行中的两列条件