我无法从主机访问装载的docker-postgres卷

时间:2016-01-09 22:58:10

标签: postgresql docker

我像这样创建我的容器:

docker run --name postgresql -itd --restart always \
--publish 5432:5432 \
--volume /my/local/host:/var/lib/postgresql \
sameersbn/postgresql:9.4-11

但是,当我在根目录上执行ls时,我看到类似这样的内容:

drwxrwxr-x  3 messagebus messagebus 4,0K Ιαν  10 00:44 host/

或换句话说,我无法访问/my/local/host目录。我不知道messagebus用户。那是正常的吗?如果是这种情况,那么我将来如何将数据库从一台机器移动到另一台机器?

1 个答案:

答案 0 :(得分:0)

尝试使用数据容器来保存数据库数据。该模式在docs中描述,旨在促进运行时和数据之间的清晰分离。

$ docker create -v /var/lib/postgresql --name dbdata sameersbn/postgresql:9.4-11 
$ docker run --name postgresql1 -itd --restart always \
--publish 5432:5432 \
--volumes-from dbdata
sameersbn/postgresql:9.4-11

单独的数据容器使备份和恢复更简单,更明显

docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/lib/postgresql

以下帖子我认为可以很好地解释数据容器: