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

时间:2017-02-23 18:58:22

标签: docker docker-volume

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

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

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

如何删除此目录?

6 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我也有这个问题。

后:

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

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

Ricardo Branco's answer对我不起作用,因为chown给了我:

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

<强>解决方案:

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

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

然后:

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

答案 2 :(得分:0)

我将@siulkilulki的答案写成一行:

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

请注意,容器必须在此处。

答案 3 :(得分:0)

我有同样的问题。我正在使用Ubuntu 18.04。我运行了以下代码,然后就可以在本地删除文件。我在docker项目目录中有app目录

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

答案 4 :(得分:0)

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

那就:

$ cd to_delete

$ rm -rf <文件/目录>

答案 5 :(得分:-1)

试试这个:

docker stop $CONTAINER_NAME
docker rm -v $CONTAINER_NAME

我想这应该删除已安装的目录。如果没有,请明确这样做:

sudo rm -rf /target/new_directory