Докер - Инструкция ARG

Опубликовано: 2 Марта, 2022

Вы можете использовать команду ARG внутри Dockerfile, чтобы определить имя параметра и его значение по умолчанию. Это значение по умолчанию также можно переопределить с помощью простой опции с помощью команды сборки Docker. Разница между ENV и ARG заключается в том, что после установки переменной среды с помощью ARG вы не сможете получить к ней доступ позже, когда попытаетесь запустить контейнер Docker.

В этой статье мы обсудим, как использовать инструкцию ARG внутри Dockerfile для установки параметров. Выполните следующие шаги, чтобы реализовать инструкцию ARG в Dockerfile :

Шаг 1. Напишите файл Docker для создания образа.

Вы можете создать Dockerfile с инструкцией ARG, используя следующий шаблон.

 ОТ ubuntu: последний
ARG GREET = GeeksForGeeks
RUN echo "Привет! Добро пожаловать в $ GREET"> welcome.txt
CMD cat welcome.txt

Приведенный выше Dockerfile извлекает базовый образ Ubuntu из Docker Hub и устанавливает для параметра GREET значение GeeksForGeeks. Затем он использует параметр для создания текстового файла, а затем печатает сообщение внутри текстового файла.

Шаг 2. Создайте образ Docker

Вы можете создать образ Docker, используя следующую команду.

sudo docker build -t arg-demo .

Шаг 3. Запустите контейнер Docker

Чтобы запустить контейнер Docker, вы можете использовать следующую команду Docker Run.

 sudo docker run -it arg-demo bash

Вы можете видеть, что файл greetings.txt был создан с сообщением, созданным с помощью параметра GREET.

Шаг 4. Отмена значения ARG по умолчанию

Вы можете изменить значение ARG по умолчанию, используя параметр –build-arg вместе с командой build.

 sudo docker build -t arg-demo --build-arg GREET = Мир.

Теперь вы можете запустить контейнер, распечатать файл, и вы увидите обновленное сообщение.

В заключение в этой статье мы обсудили, как использовать команду ARG для установки значений параметров, которые будут использоваться во всем Dockerfile . Мы также обсудили, как переопределить значение параметра с помощью параметра –build-arg вместе с командой сборки Docker.