Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t删除通过Docker创建的文件_Docker_Docker Volume - Fatal编程技术网

Can';t删除通过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映像在我们学校的服务器上使用此命令运行程序

 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

  • cd到docker项目目录
  • 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>