如何备份和恢复docker容器(没有原始docker运行命令)

我希望能够将一个容器状态“冻结”到一个文件中,然后在容器被意外删除的时候再恢复它。 这是为了防止意外的容器删除。

我试图docker export到一个tar文件,然后docker import ,但它会创build一个docker文件系统的图像 …不是容器本身。 我知道我可以使用这个镜像的docker run ,但我不是容器的创造者,我不知道最初是用什么命令来创build的。

我也尝试使用docker-runcrootfsconfig.json/run/docker/libcontainerd/CONTAINER_ID/config.json重新创build容器,但是我发现这不是件容易的事情,我想要一个“不那么容易“的解决scheme。

目前,我所知道的唯一方法就是创buildDocker主机虚拟机的快照,如果有人不小心删除容器,请恢复快照。 但最后一次发生这种情况时,最后一次备份是在16小时之前完成的,而且之后我又丢失了所有创build的数据(恢复过程的时间也很长)。

我只是想将容器状态保存到一个文件中,并能够在删除的情况下重新创build它。

你可以使用docker-compose.yml autocompose来得到一个docker-compose.yml等价物,它将允许你重新创build容器和保存的图像。