所以我在装载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,如果这对这个问题产生影响。
答案 0 :(得分:0)
错误信息非常清楚。我认为容器运行postgres,用户postgres
的uid / gid为999
(请参阅https://github.com/docker-library/postgres/blob/3f8e9784438c8fe54f831c301a45f4d55f6fa453/9.5/Dockerfile第5行)。您需要chown
您的主机数据文件夹给具有相同uid
。