首页 > 解决方案 > 将 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中有一些命令可以拍摄快照。

那可能吗?

标签: postgresqldockerdocker-compose

解决方案


您可以简单地创建一个 Dockerfile,在其中包含您的脚本并构建一个包含您修改后的数据库的映像。一旦你有了它,只需在你的 docker-compose 文件中使用这个相同的图像。然后,您可以使用docker-compose downanddocker-compose up并且您将拥有处于先前状态的容器。


推荐阅读