2016-09-26 4 views
5

Мне нужно передать некоторые аргументы моей команде docker build. Я понимаю, что это можно сделать с помощью инструкции ARG в пределах Dockerfile. Теперь предположим, что у меня есть следующее в моем Dockerfile.Эластичный beanstalk и Dockerfile Инструкция ARG

ARG myvar 

и используйте команду docker build --build-arg mvar=myOwnVar ..., это сработает.

Однако, я использую AWS Elastic Beanstalk с Docker, чтобы создать изображение и развернуть его в контейнере. Так что вопросы:

  1. Возможно ли это вообще?
  2. Если да, то как я могу гарантировать, что AWS EB передает значения этим аргументам?

Благодаря Sushil

+0

ничего себе, так как " 16, но до сих пор нет ответа, у меня такое же затруднительное положение. Я потерял весь день на этом – rkmax

ответ

3

вчера я начать использовать AWS EB, я был счастлив, сегодня мне нужно пройти некоторые ARG к моей сборки, нашел это на документы

enter image description here

Очень грустно

источник: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-specific.html

Обход

Возможное решение это то, что я делаю в данный момент перед запустить докер сборки добавить некоторые файлы к ЭБ и использования его из Dockerfile

Например, предположим, мне нужно имя уаг TOKEN на мой докер что-то вроде

RUN curl http://somemething.comtoken=$TOKEN 

Так whay я был

добавить новый файл сценария

ADD ./curl-thing.sh /curl-thing.sh 

и содержание

if [ -f "./.env"]; then 
    source ./.env 
fi 

теперь добавить имя файла .ebextensions/my-env.config, имя не имеет значения, просто важно, что существует на forlder .ebextensions и имеют расширение .config

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/pre/02_mix_environment.sh": 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     #!/usr/bin/env bash 
     EB_APP_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir) 
     TOKEN=$(/opt/elasticbeanstalk/bin/get-config environment -k TOKEN) 
     echo "export TOKEN=${TOKEN}" >> ${EB_APP_DEPLOY_DIR}/.env 
Смежные вопросы