安装错误的Docker卷无法删除

时间:2019-06-26 21:27:43

标签: docker

我尝试使用docker run挂载卷,但是我放错了文件夹。这是我执行的命令:

docker run --name my-apache -p 80:80 -d -v ~/home/myusername/html:/usr/local/apache2/htdocs/ httpd:2.4

请注意~之前的/home/myusername ...我不应该将~放在那里,因为它创建了/home/myusername/home/myusername/...文件夹

我尝试通过以下方式删除该卷: docker rm -f -v my-apache,但无济于事。我在这台机器上没有须藤。我是否注定要拥有另一个无法删除的主文件夹?

1 个答案:

答案 0 :(得分:0)

您可以作弊并利用以root用户身份运行的容器进程来获取root用户访问权限。

~挂载为像高山之类的普通容器内的卷。任何带有rm的基本容器(例如alpine,debian或fedora)都可以。默认情况下,命令以root身份运行;容器内的rm -rf可以删除任何内容。

docker run -it --rm -v ~:/home alpine rm -rf /home/home

请注意以root用户身份运行rm -rf!通常没有危险,因为它只能删除容器内的东西。但是,如果从主机安装目录,则目录中的所有内容都是公平的游戏。