我从docker-hub拉并运行了postgres官方映像。一切正常,但是问题是当我停止并启动容器时,所有数据都丢失了,实例返回到干净状态,而我希望数据可以保留在实例自助存储中。
我不想使用外部卷来保持实例独立。
这是配置问题吗?
答案 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/列出了典型用户感兴趣的所有环境变量和容器文件系统路径。