使用 --build-arg 修改 Docker 镜像中的 FROM 子句



>假设我们有一个像这样的Dockerfile:

FROM node:9

我们通过以下方式构建它:

docker build -t foo .

我的问题是 - 有没有办法使用--build-arg更改 FROM 子句,如下所示:

ARG NODE_VERSION
FROM node:$NODE_VERSION

以及具有以下功能的构建:

docker build -t foo --build-arg NODE_VERSION="8" .

它的工作原理与您提议的完全一样。 给定以下 Dockerfile:

ARG base_image=alpine
FROM $base_image

我可以像这样构建它并获得基于 Alpine 的图像:

docker build -t test1 .

或者像这样来获得基于 Fedora 的图像:

docker build -t test2 --build-arg base_image=fedora .

正如您所说,更改基本映像会使缓存失效。

最新更新