Dockerfile – LABEL, ENV

LABEL – dodaje informacje opisowe (metadane) do obrazu. Etykiety są addytywne. Te same klucze nadpisują wartości.

LABEL klucz="wartość"

np. LABEL key1="wartość1" key2="wartość2" key3="wartość3"

// wartości wielowierszowe, lub argumenty w wielu wierszach rozdziela się backslashem \
LABEL key1="wartość1" \
  key2="wartość2" \
  description="Opis obrazu \ w wielu \ wierszach"
# docker inspect <obraz>    - sprawdzenie labeli

ENV – ustawia zmienną środowiskową. Może być wiele zmiennych

ENV klucz wartość        - ust. wartości dla jednej zmiennej (wszystko po pierwszej spacji traktowane jako wartość)

ENV klucz="my var1"      - ust. wielu wartości (=), jeśli są spacje użyć cudzysłowiu ""
ENV PATH /var/lib/tomcat8/bin:$PATH

ENV TOMCAT_VERSION_MAJOR 8
ENV TOMCAT_VERSION 8.5.4 

RUN curl -SL
  https://apache.../tomcat-$TOMCAT_VERSION_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz 
  | tar zxvf apache-tomcat-$TOMCAT_VERSION.tar.gz -c /dir/apache-tomcat-$TOMCAT_VERSION 

ENV PATH /dir/apache-tomcat-$TOMCAT_VERSION/bin:$PATH
// Nadpisanie zmiennych w czasie wykonania
# docker run --env PATH=/var/lib/apache2/bin:$PATH <obraz>

# docker inspect <obraz>          - sprawdzenie
ENV może być wykorzystana w takich instrukcjach:

 ADD
 COPY
 ENV
 EXPOSE
 LABEL
 USER
 WORKDIR
 VOLUME
 STOPSIGNAL
 ONBUILD