我像这样创建我的容器:
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
用户。那是正常的吗?如果是这种情况,那么我将来如何将数据库从一台机器移动到另一台机器?
答案 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
以下帖子我认为可以很好地解释数据容器: