我这样创建我的容器:
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
用户。那是正常的吗?如果是这种情况,那么我以后如何将数据库从一台机器移动到另一台机器?
最佳答案
尝试使用数据容器来保存您的数据库数据。 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
我认为以下帖子很好地解释了数据容器:
关于postgresql - 我无法从主机访问已安装的 docker-postgres 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699918/