docker可以写入CD吗?

时间:2015-04-29 05:15:41

标签: ubuntu docker

docker可以写入CD吗? docker可以执行

cdrecord dev=/dev/sr0 -checkdrive

来自Ubuntu容器?

Docker似乎能够使用父网络硬件,为什么不能使用父CDROM / DVD设备呢?

更新

这个问题是关于编程的,我有一些我在Ubuntu VM上运行的shell脚本,我想知道迁移到docker是否可行。我为最初没有指出这一点而道歉:)

1 个答案:

答案 0 :(得分:4)

我想是这样(尚未测试),你可以在docker run script中找到一个例子:

docker run \
-t --rm \
--privileged \
-v $XSOCK:$XSOCK \
-v /etc/localtime:/etc/localtime:ro \
-v /dev/sr0:/dev/sr0 \
-v /dev/cdrom:/dev/cdrom \
-v $RIPS:/rips \
--name handbrake marvambass/handbrake &

正如in the comments提到的Luca--privileged标志是必需的(docker run):

  

默认情况下,大多数潜在危险的内核功能都会被删除;包括cap_sys_admin(安装文件系统所必需的)。但是,--privileged标志将允许它运行。

     

--privileged标志为容器提供所有功能,并且还解除了设备cgroup控制器强制执行的所有限制。
  换句话说,容器几乎可以完成主机可以做的所有事情   此标志用于允许特殊用例,例如在Docker中运行Docker。

由于Vincent Demeester提及in the comments,还有--device选项:

  

通常需要将设备直接暴露给容器。 --device选项启用了该功能。
  例如,可以将特定的块存储设备或循环设备或音频设备添加到其他非特权的容器(没有--privileged标志)并让应用程序直接访问它。

     

默认情况下,容器将能够读取,写入和mknod这些设备。可以使用每个:rwm标记

的第三个--device选项集覆盖此值      

注意--device无法安全地与短暂设备一起使用。不应将可能被删除的阻止设备添加到--device的不受信任的容器中。

issue 10637所示,某些设备可以更改其节点名称。见issue 8826

  

如果您使用lxc后端启动Docker守护程序,则应该能够使用--lxc-conf=lxc.cgroup.devices.allow = c 189:* rwm允许容器访问该组的所有设备,然后使用volume -v /dev/bus/usb/:/dev/bus/usb/访问所有 USB设备。