postgresql - 我无法从主机访问已安装的 docker-postgres 卷

标签 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 用户。那是正常的吗?如果是这种情况,那么我以后如何将数据库从一台机器移动到另一台机器?

最佳答案

尝试使用数据容器来保存您的数据库数据。 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/

相关文章:

python - 为什么 SQLAlchemy 不创建串行列?

ruby-on-rails - 开发中的 Rails POST(补丁)变成生产中的 GET

node.js - 无法从主机访问 Dockerized Loopback 4 应用程序

arrays - Postgres : why does this GIN index not used for this "object in array" query

mysql - 我可以在 postgresql 数据库中导入 sql 转储吗

postgresql - 你如何在 postgres 中弹出一个数组?

django - 如何使用 PostgreSQL 计数估计加速 Django 的管理页面?

docker - Jenkins docker 容器只是挂起并且从不执​​行步骤

docker - 我可以查询OpenShift Docker存储库是否给定镜像_exists_而不拉出它吗?

docker - 如何在由docker compose启动的系统中更新容器