“删除”Dockerfile中的VOLUME

时间:2017-05-17 09:26:45

标签: docker docker-compose

我有一个Dockerfile扩展FROM一个声明VOLUME的图像。有没有办法以这种方式覆盖VOLUME指令,它“删除”了VOLUME

3 个答案:

答案 0 :(得分:21)

没有

唯一的方法是,如果您克隆用作基础图像的DockerfileFROM中的图像)并手动删除VOLUME指令。然后构建它并在FROM作为基础使用。

答案 1 :(得分:2)

在某些情况下,您无法修改原始Dockerfile-在我的情况下,该图像来自生产环境。唯一的机会是修改元数据(使用docker save / load操作)。我经常需要这样做,为此我创建了一个小脚本,看看docker-copyedit是否可以帮助您。

答案 2 :(得分:0)

您可能会覆盖文件。 使用多阶段构建和COPY(docker 19.03)。 一级 在VOLUME文件夹之外创建文件。或者在添加/修改文件的同一运行步骤中,将其复制到该文件夹​​之外。 下一阶段将上一阶段的COPY文件复制到VOLUME文件夹中。