I'm trying read application version from a file VERSION such that echo -n 1.0.0 > VERSION, and store the version number in an environment variable, lets say, VERSION. My Dockerfile
FROM debian
WORKDIR /app
COPY VERSION .
ENV VERSION $(cat VERSION)
# I'd like to use the version number in later steps like
RUN apt update && apt install -y curl
RUN curl path/to/executable-${VERSION}
env | grep VERSION returns:
VERSION=$(cat VERSION)
I want
VERSION=1.0.0
ENV does not interpolate variables.
How about this:
FROM debian
WORKDIR /app
COPY VERSION version-file
RUN echo "export VERSION=$(cat version-file)" >> /root/.bashrc
RUN apt update && apt install -y curl
RUN curl path/to/executable-${VERSION}
This uses a RUN step to add an export command to .bashrc file. the export command adds the VERSION env var.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With