Как передать параметры --build-arg из командной строки в файл docker -compose.yml? - PullRequest
0 голосов
/ 03 марта 2020

Предположим, что я набираю следующую команду

docker-compose -f docker-compose.yml build --build_args PARAM=1

Как мне написать мой docker -compose.yml так, чтобы поле yml получало аргумент PARAM, чья значение 1?

Мой файл yml находится ниже.

version: '3.7'

services:
  web:
    build:
      context: .
      dockerfile: ./Dockerfile
      args: 
         - MY_PARAM: ${PARAM}
      ports:
         - "5000:5000"
    image: sample-img:1.0

Я добавил

args: 
   - MY_PARAM: ${PARAM}

ниже build. Это правильно?

1 Ответ

0 голосов
/ 03 марта 2020

Вот как вы можете передавать аргументы сборки при использовании compose -

  1. Разрешить поддержку аргументов в Dockerfile.

    FROM foo:bar   
    ARG PARAM
    ARG PARAM2
    .................
    
  2. Теперь вы можете передавать эти аргументы двумя различными способами -

    1. Во время выполнения -

      docker-compose -f docker-compose.yml build --build-arg "PARAM=1 PARAM2=2"
      
    2. Внутри компоновки с использованием оболочки -

      $ export PARAM=1 PARAM2=2
      

      Изменение docker Компоновка, как показано ниже -

      dockerfile: ./Dockerfile.foo
      args:
        PARAM: ${PARAM}
        PARAM2: ${PARAM2}
      

      Построение -

      $ docker-compose -f docker-compose.yml build
      
...