github.com/mgoltzsche/ctnr@v0.7.1-alpha/image/builder/dockerfile/testfiles/40-env.test (about)

     1  FROM alpine:3.7
     2  
     3  ENV VAR1 myval
     4  ENV VAR1 entrypoint.sh
     5  ENV VARX=myvalx
     6  ENV VARA=80 VARB=443
     7  ENV VARL="long value"
     8  
     9  
    10  # env substitution:
    11  
    12  ENV SVAR1=$VAR1
    13  ENV SVAR2=${VAR1}
    14  ENV SVAR3=\$VAR1
    15  ENV SVAR4=\${VAR1}
    16  
    17  ENV USR 0:0
    18  ENV BASEIMAGE alpine:3.7
    19  ENV WORK /etc
    20  
    21  COPY $VAR1 /dest
    22  COPY /entrypoint.sh /$VAR1
    23  COPY --chown=$USR /entrypoint.sh /dest
    24  COPY --from=$BASEIMAGE etc/hosts /dest
    25  
    26  ADD $VAR1 /dest
    27  ADD /entrypoint.sh /$VAR1
    28  ADD --chown=$USR /entrypoint.sh /dest
    29  
    30  EXPOSE $VARA $VARB
    31  
    32  LABEL $VARX=$VARL
    33  
    34  ENV VARSTOP SIGTERM
    35  STOPSIGNAL $VARSTOP
    36  
    37  USER $USR
    38  
    39  VOLUME $VARX $VARL
    40  
    41  WORKDIR $WORK
    42  WORKDIR /
    43  
    44  # require no substitution:
    45  RUN [ "$VAR1" = entrypoint.sh ]
    46  ENTRYPOINT echo $VAR1
    47  ENTRYPOINT [ "/bin/echo", "$VAR1" ]
    48  CMD echo $VAR1
    49  CMD [ "/bin/echo", "$VAR1" ]
    50  
    51  # imagebuidler: change bundle state after RUN initialized bundle already
    52  ENV NEWVAR $VARX
    53  WORKDIR $WORK
    54  
    55  # ASSERT CFG /config/User=0:0
    56  # ASSERT RUN [ "$NEWVAR" = myvalx ] || (echo env not reapplied to bundle, NEWVAR=$NEWVAR, VAR1=$VAR1; false)
    57  # ASSERT RUN [ "$(pwd)" = /etc ] || (echo workdir not reapplied to bundle, pwd: "$(pwd)"; false)