取消删除 docker 中的文件

Undelete files in docker

我有 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 容器中安装任何其他软件。

如果没有备份,您将无法可靠地恢复它们,备份很可能以容器 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} 是缺少 /etc

容器的 idname