Чем отличается ENV от ARG в Dockerfile?

В Dockerfile ARG и ENV используются для разных целей:

Короткий ответ

Что ответить на собеседовании

В Dockerfile ARG и ENV используются для разных целей:

Подробный разбор

Ответ с пояснениями

В Dockerfile ARG и ENV используются для разных целей:

  • ARG — это аргумент сборки. Его значение можно передать во время сборки образа через docker build --build-arg. Аргументы доступны только на этапе сборки и не сохраняются в конечном образе.
  • ENV — это переменная окружения, которая сохраняется в образе и доступна во время выполнения контейнера.

Пример:

ARG VERSION=1.0
ENV APP_VERSION=$VERSION
RUN echo "Building version $APP_VERSION"

Здесь VERSION задаётся при сборке, а APP_VERSION будет доступна в контейнере после запуска.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее