2017-02-03 4 views
0

У меня есть 2 Dockerfiles, которые имеют общие аргументы (ARG), которые передаются фактическим командам (RUN) для создания изображений.Файл Docker с файлом внешних аргументов

Можно ли предоставить внешний файл с аргументами, чтобы, когда мне нужно обновить один из них, мне не нужно касаться обоих файлов Docker?

ответ

3

ARG предназначен для модификации из командной строки сборки, поэтому вы должны запустить docker build --build-arg VAR=value -t your_image .. Это можно поместить внутри сценария оболочки, чтобы автоматизировать его и передать один и тот же аргумент для каждой сборки.

Вы также можете использовать файл компоновки, а файл компоновки может использовать переменные среды или .ENV-файл для установки переменных, используемых внутри файла компоновки, например.

build: 
    context: ./your_app_dir 
    dockerfile: Dockerfile 
    args: 
    VAR: ${VALUE} 

И .env будет содержать:

VALUE=your_value 

Для получения более подробной информации о сочинить файлах см the build syntax, а также the environment file syntax.