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

时间:2018-06-19 21:21:56

标签: docker dockerfile docker-build

说我们有一个像这样的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" .

1 个答案:

答案 0 :(得分:1)

它的工作原理与您建议的完全一样。鉴于以下Dockerfile:

ARG base_image=alpine
FROM $base_image

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

docker build -t test1 .

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

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

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