在我的Docker文件中包括其他Docker文件

时间:2019-04-22 22:34:29

标签: dockerfile

我想构建一个自定义Docker文件。我从Ubuntu入手

FROM ubuntu

但是我也想添加buildpack-deps:stretch

我了解我只能使用一次FROM,因此没有将buildpack-deps:stretch的内容复制到我的Docker文件中,如何将其添加到我的Docker文件中?

1 个答案:

答案 0 :(得分:1)

AFAIK,仅“包含”另一个Dockerfile不起作用。但是,如果您使用多阶段构建(参见the Docker docs),则实际上被允许使用多个FROM语句。

例如,您可以执行以下操作:

FROM buildpack-deps:stretch AS build

RUN echo "hello world!" > /tmp/foo

FROM ubuntu

COPY --from=build /tmp/foo .

CMD ["cat", "foo"]

运行docker build --tag foo . && docker run --rm foo会产生hello world!。您可以将第一个RUN语句替换为某些内容的汇编或任何您计划要做的事情。

还有更多使用多阶段构建的方法,例如直接在我们的示例中使用FROM build