无法删除通过 Docker 创建的文件

Can't Delete file created via Docker

我使用此命令将 docker 图像用于 运行 我们学校服务器上的程序。

 docker run -t -i -v /target/new_directory 990210oliver/mycc.docker:v1 /bin/bash

在我 运行 之后,它在我的帐户上创建了一个名为 new_directory 的火炉。现在我没有删除或修改文件的权限。

如何删除这个目录?

试试这个:

docker stop $CONTAINER_NAME
docker rm -v $CONTAINER_NAME

我想这应该删除挂载的目录。如果没有,请明确执行此操作:

sudo rm -rf /target/new_directory

将目录中所有文件的所有者更改为您在容器中使用的 ID 运行 作为 root,然后退出容器并删除目录。

docker run --rm -v /target/new_directory 990210oliver/mycc.docker:v1 chown -R $(id -un):$(id -un) /target/new_directory
exit
rm -rf $HOME/new_directory

我也遇到了这个问题

之后:

docker run --name jenkins -p 8080:8080 -v $HOME/jenkins:/var/jenkins_home jenkins jenkins

我无法删除 $HOME/jenkins 中的文件。

对我不起作用,因为 chown 给了我:

chown: changing ownership of '/var/jenkins_home': Operation not permitted

解法:

exec /bin/bash 以根用户身份进入容器:

docker exec -it --privileged --user root container_id /bin/bash

然后:

cd /var/jenkins_home/ && rm -r * .*

我把@siulkilulki 的回答写成一行:

docker exec --privileged --user root <CONTAINER_ID> chown -R "$(id -u):$(id -g)" <TARGET_DIR>

注意这里的CONTAINER必须在上面。

我遇到了同样的问题。我正在使用 ubuntu 18.04。我 运行 以下代码然后我能够在本地删除文件。我在 docker 项目目录

中有 app 目录
  1. cd 到您的 docker 项目目录
  2. sudo chown -R $(whoami):$(whoami) app/

docker 运行 -v {文件所在目录的绝对路径}:/to_delete -it ubuntu /bin/bash

然后:

$ cd to_delete

$ rm -rf