Docker build-arg and copy

Expansion still does not work for the COPY --from=$var ... case. But you can create intermediate image as an alias, like this:

ARG docsBranch=4.5
ARG docsFullPath=registry.myCompany.pro/group/project-docs/docs:$docsBranch

# Lifehack
FROM $docsFullPath as docs

FROM node:10.21.0-buster-slim
WORKDIR /app

# Now we can use docs instead of $docsFullPath
COPY --from=docs /app/html/en ./documentation/en

You need to define it with ARG in Dockerfile before using:

FROM alpine:3.3

ARG folderVariable=./my-folder # Optional default value to be `./my-folder`

COPY ${folderVariable} /opt/my-folder

And build it like:

docker build --build-arg folderVariable=./folder-copy -t test .

More details please refer to: https://docs.docker.com/engine/reference/builder/#arg

Tags:

Docker