Docker 从mknod创建的容器中删除循环设备

Docker 从mknod创建的容器中删除循环设备,docker,containers,Docker,Containers,我使用命令在docker容器内创建循环设备 mknod-m660/dev/loop10 b 7 10 然后我用命令把它移除 rm-rf/dev/loop10 执行此命令后,循环设备成功地从容器中移除,我已使用 ls-l/dev/loop*命令 但在主机上检查时,该设备仍在主机上, 有人能帮我从容器中删除loopdevice吗?这也从主机machie上删除了它 我在docker容器内使用命令 docker-run-it--privileged--pid=host-datamover:test-bi

我使用命令在docker容器内创建循环设备

mknod-m660/dev/loop10 b 7 10

然后我用命令把它移除

rm-rf/dev/loop10

执行此命令后,循环设备成功地从容器中移除,我已使用

ls-l/dev/loop*
命令

但在主机上检查时,该设备仍在主机上, 有人能帮我从容器中删除loopdevice吗?这也从主机machie上删除了它

我在docker容器内使用命令


docker-run-it--privileged--pid=host-datamover:test-bin/bash
我的问题是我能够从容器中创建
mknod
,它也反映在我的主机中,但当我删除该节点时,它会从容器中删除,但不会从主机中删除。 在做了大量的谷歌搜索之后,我找到了这个问题的解决方案。 我只需要在docker容器中挂载
/dev
目录,现在就可以从容器中创建并删除mknod,这也反映在主机上


docker-run-it--privileged-v/dev:/dev datamover:test-bin/bash

您必须绕过大量docker设置才能实现这一点。在主机上使用
sudo
运行该进程会更容易,也不安全。“我需要创建和删除合成主机设备”表明您不需要Docker提供的隔离层。还请注意,
/dev
中存在文件并不一定意味着相应的设备实际存在;您可以使用所需的任何主要和次要号码
mknod
。主机上
/dev
中的设备将自动管理。
/dev/loop[0-9]
设备的存在并不是因为您在容器中做了什么,而是因为加载了
循环
内核模块。