【问题标题】:Building docker images from a source directory using different dockerfiles使用不同的 dockerfile 从源目录构建 docker 镜像
【发布时间】:2023-03-04 11:52:01
【问题描述】:

我的目标是从相同的源代码构建几个不同的 docker 镜像。

我有我的 ./src 文件夹(node.js 项目)。 在 ./src 我有 first.dockerfile 和第二个 dockerfile。

为了构建项目,我使用这个标准命令行

sudo docker build -t doronaviugy/myproject .

使用默认的 Dockerfile

可以正常工作

我正在尝试使用该行从特定的 dockerfile 构建它

sudo docker build -t doronaviguy/myproject  - <   first.docker

这条线有效,但现在路径没有被复制到图像中

#Inside the Dockerfile
ADD . /src

我想我了解如何指定 dockerfile 参数,但我需要指定要在 docker 映像中复制的目录参数。

非常感谢。

【问题讨论】:

    标签: docker dockerfile


    【解决方案1】:

    从 Docker 1.5 开始,您可以使用 -f 参数来选择要使用的 Dockerfile,例如:

    docker build -t doronaviugy/myproject -f dockerfiles/first.docker .

    如果您使用 stdin 构建映像(- &lt; first.docker 语法),您将没有构建上下文,因此您将无法使用引用本地文件的 COPYADD 指令。

    如果您必须使用旧版本的 Docker,则需要使用一些脚本将您的特定 Dockerfile 复制到构建上下文根目录下的 Dockerfile,然后再调用 docker build

    【讨论】:

    • 谢谢,我确实尝试使用 -f 参数,但没有成功,然后我注意到我必须将我的 docker 版本升级到 1.5。
    • @Adrian Mouat 你能看看这里我做错了什么stackoverflow.com/questions/60407265/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多