首页 > 解决方案 > PostgreSQL:将数据保存在 Docker 容器之外

问题描述

我的任务是将数据保存在容器之外 - 在主机目录中。为此,我尝试了以下步骤:

  1. 更改数据保存目录;
  2. 将容器中默认数据保存 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

标签: databasepostgresqldockerdirectory

解决方案


推荐阅读