【问题标题】:Docker / Postgres: Mounting an existing database within a dockerized PostgresqlDocker / Postgres:在 dockerized Postgresql 中安装现有数据库
【发布时间】:2016-03-30 18:50:05
【问题描述】:

因此,我在为 Docker Postgres 安装现有数据集时遇到了问题,我一生都无法弄清楚。这是我的码头工人撰写文件。

version: '2'
    services:
      postgresql:
        image: postgres:9.5
        environment:
          - PGDATA=/data 
        ports:
      - '5432:5432'
    volumes:
      - ~/.postgresql:/data
  web:
    build: .
    command: sbt/sbt run
    volumes:
      - .:/app
    ports:
      - '9001:9001'
    depends_on:
      - postgresql

这是我看到的错误

ostgresql_1 | FATAL:  data directory "/data" has wrong ownership
postgresql_1 | HINT:  The server must be started by the user that owns the data directory.

有人知道如何解决吗?谢谢

PS 我正在通过 OSX 使用 Docker Machine,如果这对这个问题有影响的话。

【问题讨论】:

  • 您的意思是在现有数据库中添加一个用户?或者以官方为基础,使用你引用的命令编写我自己的 Docker Postgres 镜像。

标签: postgresql docker docker-compose dockerfile docker-machine


【解决方案1】:

错误信息很清楚。我认为该容器使用用户 postgres 运行 postgres,用户的 uid/gid 为 999(参见 https://github.com/docker-library/postgres/blob/3f8e9784438c8fe54f831c301a45f4d55f6fa453/9.5/Dockerfile 第 5 行)。您需要将您的主机数据文件夹chown 发送给具有相同uid 的用户。

【讨论】:

  • 哦,好吧,我不知道关于 uid 的事情,让我尝试修复它并回复您
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 2022-11-26
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 2014-09-03
  • 2015-12-03
  • 2014-07-06
相关资源
最近更新 更多