首页 > 解决方案 > 如何在 Dockerfile 中使用本地文件或远程(有条件地)检索它?

问题描述

我希望能够在我构建 Docker 映像的同一台机器上控制文件(Java 存档)的来源,该文件Dockerfile可以是下载文件(带有)或本地文件。curl

我知道控制RUN语句的方法,例如Dockerfile 中的 Conditional ENV,但由于我需要访问 Docker 构建映像之外的文件系统,RUN因此无法使用语句。我需要有条件的COPYADD或解决方法。

我对避免使用多个 Dockerfile 或Dockerfile使用模板软件将其包装在脚本中的内置 Docker 函数/特性感兴趣(那些只是突然出现在我脑海中的变通方法)。

标签: dockerdockerfile

解决方案


您可以使用 docker 中相当新的多阶段构建:

https://docs.docker.com/develop/develop-images/multistage-build/


推荐阅读