我不知道为什么但是,umount不能在docker中工作.
“umount:loop3 /:必须是超级用户才能卸载”
让我再分享一下
它在真机中的/ mnt / loop3下创建loop3.对我来说这是最意想不到的事情,因为承诺纯虚拟环境.
为什么?有解决方案吗
场景 – :我创建了docker ubuntu:13.04来创建交叉编译环境.
Docker Linux机器:(ubuntu)
Linux 626089eadfeb 3.10.45-1-lts #1 SMP Fri Jun 27 06:44:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Linux机器:( Arch Linux)
Linux localhost 3.10.45-1-lts #1 SMP Fri Jun 27 06:44:23 UTC 2014 x86_64 GNU/Linux
Docker信息
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.3
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.3
Git commit (server): 990021a
最佳答案
我找到了解决方案:
在默认的docker run中,它不像我们期望的那样是真正的操作系统.它无权访问设备.所以我们必须在运行docker时使用–privileged.
默认情况下,Docker容器是“非特权”的,例如,不能在Docker容器中运行Docker守护程序.这是因为默认情况下不允许容器访问任何设备,但“特权”容器可以访问所有设备.
当运算符执行docker run –privileged时,Docker将允许访问主机上的所有设备,并在AppArmor中设置一些配置,以允许容器几乎所有访问主机的进程与在主机上的容器外运行的进程.