Can';t删除通过Docker创建的文件
我使用docker映像在我们学校的服务器上使用此命令运行程序Can';t删除通过Docker创建的文件,docker,docker-volume,Docker,Docker Volume,我使用docker映像在我们学校的服务器上使用此命令运行程序 docker run -t -i -v /target/new_directory 990210oliver/mycc.docker:v1 /bin/bash 在我运行它之后,它在我的帐户上创建了一个名为new_directory的firectory。现在我没有删除或修改文件的权限 如何删除此目录?尝试以下操作: docker stop $CONTAINER_NAME docker rm -v $CONTAINER_NAME 我
docker run -t -i -v /target/new_directory 990210oliver/mycc.docker:v1 /bin/bash
在我运行它之后,它在我的帐户上创建了一个名为new_directory的firectory。现在我没有删除或修改文件的权限
如何删除此目录?尝试以下操作:
docker stop $CONTAINER_NAME
docker rm -v $CONTAINER_NAME
我想这应该会删除挂载的目录。如果没有,请明确执行以下操作:
sudo rm -rf /target/new_directory
将目录中所有文件的所有者更改为以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
我也有这个问题 之后:
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
以root用户身份进入容器:
docker exec -it --privileged --user root container_id /bin/bash
然后:
我把@siulkilulki的答案写成一行:
docker exec --privileged --user root <CONTAINER_ID> chown -R "$(id -u):$(id -g)" <TARGET_DIR>
docker exec--privileged--user root chown-R“$(id-u):$(id-g)”
请注意,这里的容器必须是向上的。我也有同样的问题。我正在使用ubuntu 18.04。我运行了以下代码,然后可以在本地删除文件。我在docker项目目录中有
app
dir
sudo chown-R$(whoami):$(whoami)app/
docker run-v{带文件的dir的绝对路径}:/to_delete-it ubuntu/bin/bash 那么就: $cd要删除
$rm-rf
docker rm-v容器名称
不要删除绑定装载卷。OP说他“没有删除或修改文件的权限”,所以sudo-rm-rf/target/new_目录
对于我停止docker并手动删除文件是没有用的,这很有效。
docker exec --privileged --user root <CONTAINER_ID> chown -R "$(id -u):$(id -g)" <TARGET_DIR>