AWSEBCLI не читает env vars - PullRequest
       46

AWSEBCLI не читает env vars

0 голосов
/ 21 сентября 2018

Я пытаюсь запустить AWSEBCLI внутри док-контейнера.Я передаю ключ доступа и токен безопасности в виде переменных env, как описано в документации по «Параметры конфигурации и приоритет»

ERROR: CredentialsError - Operation Denied. You appear to have no credentials

Вот мой файл Docker

FROM circleci/golang

ADD . /go/src

WORKDIR /go/src

RUN sudo apt-get -y -qq update --assume-yes
RUN sudo apt-get install python-pip python-dev build-essential --assume-yes
RUN sudo pip install awscli=="1.16.9"
RUN sudo pip install awsebcli=="3.14.4"
RUN echo ${AWS_ACCESS_KEY_ID}
RUN echo ${AWS_SECRET_ACCESS_KEY}
CMD sudo eb deploy Circledocker

1 Ответ

0 голосов
/ 21 сентября 2018

Среда, определенная в вашем пользовательском сеансе и сеансе sudo , не совпадает.

RUN echo ${AWS_ACCESS_KEY_ID} -> Works
RUN sudo echo ${AWS_ACCESS_KEY_ID} -> Will not provide you the value.

Посмотрите на man sudo, -E flag:

-E, --preserve-env
         Indicates to the security policy that the user wishes to preserve their
         existing environment variables.  The security policy may return an error
         if the user does not have permission to preserve the environment.

Так что это нормально работает:

sudo -E bash -c 'echo $AWS_ACCESS_KEY_ID' 

Попробуйте команду eb deploy следующим образом:

sudo -E bash -c 'eb deploy Circledocker' 

Надеюсь, это поможет!

...