我的任务是将数据保存在容器之外 - 在主机目录中。为此,我尝试了以下步骤:
- 更改数据保存目录;
- 将容器中默认数据保存 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