重新启动后Postgres Docker实例不保持状态

时间:2019-01-18 05:53:54

标签: postgresql docker

我从docker-hub拉并运行了postgres官方映像。一切正常,但是问题是当我停止并启动容器时,所有数据都丢失了,实例返回到干净状态,而我希望数据可以保留在实例自助存储中。

我不想使用外部卷来保持实例独立。

这是配置问题吗?

1 个答案:

答案 0 :(得分:1)

是:您需要使用外部卷(本机Docker卷或主机目录),这并不是真正的可选。删除和重新创建容器是极端的例程(如果没有其他操作,则需要这样做才能在数据库软件或周围的Linux分发基础结构中获取安全补丁),如果删除容器,则会丢失所有数据就在里面。

典型的PostgreSQL调用看起来像

docker run \
  --name postgres \
  -d \
  -p 5432:5432 \
  -v $PWD/pgdata:/var/lib/postgresql/data \
  postgres:11

https://hub.docker.com/_/postgres/列出了典型用户感兴趣的所有环境变量和容器文件系统路径。