FROM
FROM命令
FROM命令可以有如下形式:
FROM <image> [AS <name>]
FROM <image>[:<tag>] [AS <name>]
FROM <image>[:<digest>] [AS <name>]
FROM会开启一个新的build stage。
一个有效的Dockerfile必须从一个FROM指令开始。
- 只有ARG指令可以放在FROM指令之前。
- FROM可以在Dockerfile中出现多次,每次都开启一个新的build stage。
ARG和FROM交互
FROM指令支持ARG指令中指定的变量。 比如:
ARG CODE_VERSION=latest
FROM base:${CODE_VERSION}
CMD /code/run-app
FROM extras:${CODE_VERSION}
CMD /code/run-extras
FROM之前的ARG指令不属于任何build stage,所以它不能在FROM后面的指令中使用。 如果要使用的话,必须在build stage中用ARG指令指定一个未赋值的变量。
比如:
ARG VERSION=latest
FROM busybox:$VERSION
ARG VERSION
RUN echo $VERSION > image_version