database - PostgreSQL:将数据保存在 Docker 容器之外
问题描述
我的任务是将数据保存在容器之外 - 在主机目录中。为此,我尝试了以下步骤:
- 更改数据保存目录;
- 将容器中默认数据保存 postgres 目录的卷与我主机上的目录绑定,该目录在上一步中分配。
我的 docker-compose.yml:
version: '3'
services:
psql2:
container_name: docker_db_test
image: postgres:11
volumes:
- "/home/andrej/docker_psql:/var/lib/postgresql/data/base"
command: bash -c "initdb -D /home/andrej/docker_psql"
command: postgres
通过“initdb -D /home/andrej/docker_psql”我更改默认目录
然后我进入容器并成功创建数据库。
但是数据库出现在 docker-directory (/var/lib/postgresql/data/base) 中。不在 /home/andrej/docker_psql
此外,我在 /etc/init.d/postgresql 中更改了 PGDATA:
PGDATA=/home/andrej/docker_psql
export PGDATA
解决方案
推荐阅读
- javascript - 使用 GetDerivedStateFromProps 初始化后将道具变为状态?
- json - How do I configure WebApi to seralise objects without changing the casing of their property names
- javascript - 用 Cheerio 替换 HTML 节点
- c# - 将大量 DTO 发送回客户端
- php - 使用 Pagerfanta 对打乱后的数组进行分页
- asp.net-core-2.1 - .Net Core 2.1 找不到方法:MediaTypeHeaderValue.Parse(System.String)
- java - 是否有可能在 tomcat 和 websphere 上部署相同的 .war 文件?
- oracle - plsql 过程未在此范围内声明错误
- typescript - 在库内调用“Interval.after”时,Luxon 返回 Invalid Interval
- wordpress - 在 Wordpress 主菜单中启用、添加和编辑导航链接