From 8a1164778d8ff979e7efdbbce7af05a0906d4e3e Mon Sep 17 00:00:00 2001 From: Charles Chan Date: Sat, 18 Jul 2015 21:09:48 -0700 Subject: [PATCH] Minor edits to Environment variables section * Clarify the list of supported instructions. * Clarify behavior of ONBUILD, based on comments by @SvenDowideit, @theJeztah in PR #14735. * Reorder list of instructions in alphabetical order. Signed-off-by: Charles Chan --- docs/reference/builder.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/reference/builder.md b/docs/reference/builder.md index e23ede533b..062c4793fe 100644 --- a/docs/reference/builder.md +++ b/docs/reference/builder.md @@ -152,18 +152,24 @@ Example (parsed representation is displayed after the `#`): ADD . $foo # ADD . /bar COPY \$foo /quux # COPY $foo /quux -The instructions that handle environment variables in the `Dockerfile` are: +Environment variables are supported by the following list of instructions in +the `Dockerfile`: -* `ENV` * `ADD` * `COPY` -* `WORKDIR` +* `ENV` * `EXPOSE` -* `VOLUME` * `USER` +* `WORKDIR` +* `VOLUME` -`ONBUILD` instructions are **NOT** supported for environment replacement, even -the instructions above. +as well as: + +* `ONBUILD` (when combined with one of the supported instructions above) + +> **Note**: +> prior to 1.4, `ONBUILD` instructions did **NOT** support environment +> variable, even when combined with any of the instructions listed above. Environment variable substitution will use the same value for each variable throughout the entire command. In other words, in this example: