postgresql - 将 docker 恢复到之前的状态
问题描述
我有一个 docker-compose 文件来运行 postgres db,如下所示:
version: '3.8'
services:
postgres:
image: postgres:9.6.2
container_name: postgres
ports:
- "5432:5432"
然后我可以用这个命令启动它:
docker-compose up postgres
然后我运行一些脚本来创建一个新模式,然后创建表并用一些数据填充它们。
此时数据库已准备好由应用程序使用,进行一些测试,在表中插入/更新/删除数据等。
运行这些测试后,有什么方法可以返回或将数据库恢复到运行测试之前的状态?
也许docker中有一些命令可以拍摄快照。
那可能吗?
解决方案
您可以简单地创建一个 Dockerfile,在其中包含您的脚本并构建一个包含您修改后的数据库的映像。一旦你有了它,只需在你的 docker-compose 文件中使用这个相同的图像。然后,您可以使用docker-compose down
anddocker-compose up
并且您将拥有处于先前状态的容器。
推荐阅读
- java - 如何在java中将空字符串反序列化为空值?
- c# - 在 Unity3d 中使用 TangibleEngine 时,如何避免 Tangibles 在多点触控屏幕中使用的接触点?
- angular - 在 ReactiveForm 中过滤复选框列表会导致呈现错误
- node.js - NodeJS mongoose 查询和承诺
- python - 根据列表中的值生成格式字符串
- c - 5.2 循环二进制如何计算二进制值
- mysql - 我有 3 个表,它们之间有多对多的关系,现在如何在 laravel 中使用 mysql 获取数据
- c# - 从 GUI 执行时进程过早结束,通过控制台测试应用程序执行时不会
- python-3.x - 使用 Numpy 改进 While 循环
- excel - 从另一个范围复制行时复制一个范围中的相同行