我使用docker镜像在我们学校的服务器上使用此命令运行程序。
docker run -t -i -v /target/new_directory 990210oliver/mycc.docker:v1 /bin/bash
运行后,它在我的帐户上创建了一个名为new_directory的firectory。现在我没有删除或修改文件的权限。
如何删除此目录?
答案 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
目录
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