撤销 docker-compose down 命令

6

执行完

docker-compose up

在向数据库添加大量内容等操作时,我不小心做了一个

docker-compose down

停止Docker容器的运行。刚才发现这实际上会将其全部删除。

有没有办法从中恢复并获取数据容器?

顺便说一下,这是docker-compose.yml文件中数据存储的配置:

services:
  jira_datastore:
    image: busybox
    volumes:
      - /data
    entrypoint: echo "PSQL Data"

你想恢复你的数据吗?或者学习如何停止容器而不删除它们吗? - Anar Bayramov
我想要恢复我的数据! - rept
1
如果您将数据存储在容器本身中,那么它就会丢失。这就是为什么最佳实践是 永远不要 在容器本身中存储数据。您应该始终将数据存储在卷中或外部挂载的目录中。https://docs.docker.com/engine/tutorials/dockervolumes/ - Dan Lowe
3个回答

3

我成功地恢复了数据,所以在某些情况下检索数据确实是可能的。

如问题所述,我有一个指向 /data 的数据存储。

通过再次进行 compose-up 并在此之后将数据从旧卷移动到新卷,我成功地找回了所有数据!


1

0
根据docker-compose文档(https://docs.docker.com/engine/reference/commandline/compose_down),数据并没有真正被删除。对于未命名的卷,新的up命令无法重新连接到它们,因此会重新创建一个新的卷,您的旧数据仍然存在于DOCKER_HOME/volumes目录中。
通过查看更改时间戳,我找到了我的数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接