我正在尝试在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
。
有没有办法实现我想做的事情?
答案 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 .