取消删除Docker中的文件

时间:2015-11-26 13:29:01

标签: docker recovery

我有docker容器并执行命令

# rm -rf /etc/
rm: cannot remove '/etc/hosts': Device or resource busy
rm: cannot remove '/etc/resolv.conf': Device or resource busy
rm: cannot remove '/etc/hostname': Device or resource busy

如何恢复已删除的文件和目录?

UPD:根据https://unix.stackexchange.com/questions/91297/how-to-undelete-just-deleted-directory-with-rm-r-command

的评论

因为我删除了/ etc /目录并且无法在docker容器中安装任何其他软件,所以它对我不起作用。

1 个答案:

答案 0 :(得分:1)

如果没有备份,您将无法可靠地恢复它们,备份最有可能以容器的docker commit或底层docker文件系统的快照的形式出现。

您可以从您启动容器的图像中获取原始/etc,这至少比您现在的位置更好。

docker run {your_image} tar -cf - /etc | docker exec {your_container_missing_etc} tar -xvf -

{your_image}是您的容器正在运行的图像。

{your_container_missing_etc}是缺少id

的容器的name/etc