ARG
Jest to opcja, którą można wykorzystać w trakcie budowania obrazu i tylko wtedy. Argument może być dostarczony podczas uruchamiania komendy docker build i następnie wykorzystana w ramach pliku Dockerfile.
Posiadając następujący plik Dockerfile:
FROM ubuntu
ARG filecontent=defaulttext
RUN echo $filecontent > test.txt
możliwe jest stworzenie wielu obrazów z innym argumentem filecontent, co spowoduje zmianę zawartości pliku test.txt w każdym obrazie. Przykładowo:
docker build -t ubuntuwithoverridenarg --build-arg filecontent=othertext .
docker run -it ubuntuwithoverridenarg bash
cat test.txt

ENV
Jest to po prostu ustawianie zmiennej środowiskowej w systemie z poziomu obrazu.
Posiadając następujący Dockerfile:
FROM ubuntu
ENV testingenv test
następnie budując obraz i uruchamiając kontener:
docker build -t ubuntutestenv .
docker run -it ubuntutestenv bash
możemy wyświetlić zmienną środowiskową:
echo $testingenv
