Docker 从mknod创建的容器中删除循环设备
我使用命令在docker容器内创建循环设备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
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]
设备的存在并不是因为您在容器中做了什么,而是因为加载了循环
内核模块。