Docker使用外部数据容器的PostgreSQL容器

3
我有一个包含Dockerfile的数据容器:
from ubuntu:latest

VOLUME ["/var/lib/postgresql/9.3/main"]

还有一个PostgreSQL服务容器:

#install stuff
............

# Set the default command to run when starting the container
CMD  ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]

然后我启动数据容器和postgresql容器:
docker run -i -t -d --name data docker:data
docker run -i -t -p 49131:5432 --name postgresql --volumes-from data --rm docker:postgresql

它说:

FATAL:  data directory "/var/lib/postgresql/9.3/main" has wrong ownership
HINT:  The server must be started by the user that owns the data directory.

看起来/var/lib/postgresql/9.3/main文件夹属于data容器中的root用户。然后我连接到该容器,添加用户并将该文件夹的所有者更改为postgres:

docker attach data
useradd postgres -s /bin/bash
chown -R postgres:postgres /var/lib/postgresql

然后再尝试相同的错误。

问题是什么,我缺少了什么?

1个回答

8

谢谢,使用postgresql镜像解决了问题! - Kevin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接