是否可以将Docker中的卷视为设备?

时间:2018-05-17 14:07:32

标签: docker dockerfile mount docker-volume

我在制作中使用的脚本基本上是这样的:

make.ext4 ... /dev/sdb1
mount /dev/sdb1 /folder
and so on

我有一个Docker环境,我在其中模拟我的生产环境。现在,我需要的是在env上使用相同脚本的可能性。要做到这一点,我需要在Docker中有一个/ dev / sdb1设备,并以某种方式在其上附加一个卷,这样当我运行上面的命令时,我的卷被附加到/文件夹。

我知道这可以通过以下方式轻松完成:

docker run -t <tag> -v <my volume>:/folder -it /bin/bash

但是这样,Docker容器中的东西有点不同,我需要修改我的脚本(在我的情况下,我有几个脚本需要更改)。

有没有办法做类似的事情:

docker run -t <tag> -v <my volume>:/dev/sdb1 -it /bin/bash

所以当我在Docker中时:

mount /dev/sdb1 /folder

我将外部卷安装到容器中的/文件夹?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用具有安装权限的docker运行?

也许如果您启动docker run --privilegeddocker run --cap-add=SYS_ADMIN,您可以从docker访问/ dev / sdb1,因此可以执行mount /dev/sdb1/

有关泊坞窗容器权限的详细信息,请参阅:Docker Documentation privileged mode and capabilities