【发布时间】:2020-04-06 21:43:53
【问题描述】:
我正在我的 MacOS 机器上使用 Docker Compose 启动一个 PostgreSQL 服务器:
version: '3.1'
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: example
ports:
- 5432:5432
volumes:
- ./dbdata:/var/lib/postgresql/data
当我使用数据库 GUI 客户端连接到服务器并创建一个新数据库时,它工作正常。但是,如果我重新启动该数据库不再存在的容器。
$ docker stop postgres_db_1
$ docker start postgres_db_1
但是,如果我对“默认”postgres 数据库进行更改(例如,创建一个新表),该更改将成功保存在 Docker 卷中(我重新启动容器并保留在那里。)
如你所见,我有这个卷映射:
./dbdata:/var/lib/postgresql/data
此映射是否适用于 PostgreSQL 服务器内的所有数据库?
【问题讨论】:
-
MacOS。
docker stop postgres_db_1
标签: postgresql docker docker-compose docker-volume