Dockerfile:在构建期间创建并装载磁盘映像

时间:2017-07-18 14:25:14

标签: docker dockerfile mount

我正在尝试在Dockerfile构建过程中构建和安装自定义磁盘映像:

FROM ubuntu:16.04
RUN dd if=/dev/zero of=foo.img count=500 bs=1M
RUN mkfs.ext4 foo.img
RUN mkdir -p /media/ext4disk
RUN mount -t ext4 foo.img /media/ext4disk

运行docker build,我在最后一个命令上收到以下错误消息:mount failed: Unknown error -1

有没有办法实现我想做的事情?

2 个答案:

答案 0 :(得分:3)

您需要y = np.zeros((numpoints,)) for i in range(1, numpoints): y[i] = y[i-1] + quad(f, t[i-1], t[i])[0] plt.plot(t, y, 'g') 具有的--privileged--cap-add功能,但docker run不支持此功能。因此,截至目前的Docker版本you can't

请参阅this评论:

  

大量的docker用户希望能够在build命令中使用--cap-add或--privileged来模仿run命令中的内容。

     

这就是为什么这张票已经开放了3年,人们不断地说话,尽管维护人员并不想在这个特定的例子中给用户提供他们想要的东西。

作为替代方法,您可以将docker build命令移动到应在容器启动时运行的脚本(并添加提到的RUN标志或--privileged

答案 1 :(得分:0)

似乎您现在可以在构建模式下运行“不安全”:

检查文档:https://github.com/docker/buildx/blob/master/README.md#--allowentitlement

docker buildx create --use --name insecure-builder --buildkitd-flags '--allow-insecure-entitlement security.insecure'
docker buildx build --allow security.insecure -t my-image:latest .