Docker / Postgres:在 dockerized Postgresql 中安装现有数据库
Docker / Postgres: Mounting an existing database within a dockerized Postgresql
所以我在为 Docker Postgres 安装现有数据集时遇到了问题,我一辈子都弄不明白。这是我的 docker 撰写文件。
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 机器,如果这对这个问题有影响的话。
错误信息很清楚。我认为该容器与用户 postgres
一起运行 postgres,它的 uid/gid 为 999
(参见 https://github.com/docker-library/postgres/blob/3f8e9784438c8fe54f831c301a45f4d55f6fa453/9.5/Dockerfile 第 5 行)。您需要 chown
您的主机数据文件夹给具有相同 uid
.
的用户
所以我在为 Docker Postgres 安装现有数据集时遇到了问题,我一辈子都弄不明白。这是我的 docker 撰写文件。
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 机器,如果这对这个问题有影响的话。
错误信息很清楚。我认为该容器与用户 postgres
一起运行 postgres,它的 uid/gid 为 999
(参见 https://github.com/docker-library/postgres/blob/3f8e9784438c8fe54f831c301a45f4d55f6fa453/9.5/Dockerfile 第 5 行)。您需要 chown
您的主机数据文件夹给具有相同 uid
.