Я пытаюсь собрать докер из сценария Shell, используя файл docker-compose, и хотел бы передать учетные данные в качестве параметра. (Учетные данные будут использоваться в Dockerfile). Например, из файла оболочки $ {1} и $ {2} - это имя пользователя и пароль соответственно.
Если в приведенной ниже команде отображается «имя пользователя», то в Dockerfile я буду счастлив.
Для упрощения приведенных ниже примеров $ {1} = username
RUN echo ${test}
В сценарии Shell необходимо использовать указанную ниже команду, поскольку следует использовать docker-compose.yml. Я не хочу хранить учетные данные в файле yml, хотел бы передать через сценарий оболочки.
docker-compose -f docker-compose-el6.yml build --force-rm --pull
docker-compose -f docker-compose-el6.yml up -d --force-recreate
docker-compose -f docker-compose-el6.yml run -T --rm builder-el6 testmain.py
Я попробовал ниже, но не повезло. BLANK.
1) добавить build-arg
docker-compose -f docker-compose-el6.yml build --build-arg test=username --force-rm --pull
Получите следующую ошибку
Services are built once and then tagged as `project_service`,
e.g. `composetest_db`. If you change a service's `Dockerfile` or the
contents of its build directory, you can run `docker-compose build` to rebuild it.
Usage: build [options] [SERVICE...]
Options:
--force-rm Always remove intermediate containers.
--no-cache Do not use cache when building the image.
--pull Always attempt to pull a newer version of the image.
2) добавить переменную окружения
$SUDO test=username docker-compose -f docker-compose-el6.yml up -d --force-recreate
3) добавить переменную окружения - другой способ
export test=username
$SUDO docker-compose -f docker-compose-el6.yml up -d --force-recreate
4) добавить переменную окружения - еще один способ
$SUDO docker-compose -f docker-compose-el6.yml run -T -e test=username --rm builder-el6 testmain.py
Для информации, здесь есть информация о версии докера.
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64