Рейтинг:0

Как запустить aws cli на контейнере amazon linux?

флаг ke

Я хочу запускать команды amazon linux как часть конвейера gitlab.

Итак, пытаясь использовать образ докера в качестве бегуна, амазонлинукс: последний

Итак, подключился к док-контейнеру и выполнил команду ниже.

yum -yq установить aws-cli

Он установил aws-cli

Затем настроил aws cli.

aws настроить установить регион $AWS_REGION
aws настроить набор aws_access_key_id $AWS_ACCESS_KEY
aws настроить набор aws_secret_access_key $AWS_SECRET_KEY
aws настроить набор plugins.bolt awscli-plugin-bolt

Затем запустил команду ниже, чтобы проверить личность, но получил ошибку, так как aws-cli-plugin-bolt не существует.

aws sts получить идентификатор вызывающего абонента

Затем запустил установку python pip для того же и получил ошибку устаревания python 2.7, а модуль не найден.

pip установить awscli-plugin-bolt
УСТАРЕВАНИЕ: Python 2.7 подошел к концу 1 января 2020 года. Пожалуйста, обновите свой Python, так как Python 2.7 больше не поддерживается. В pip 21.0 прекратится поддержка Python 2.7 в январе 2021 года. Более подробную информацию о поддержке Python 2 в pip можно найти по адресу https://pip.pypa.io/en/latest/development/release-process/#python-2-support.
ПРЕДУПРЕЖДЕНИЕ. Запускать pip install с привилегиями root, как правило, не рекомендуется. Вместо этого попробуйте `pip install --user`.
ОШИБКА: не удалось найти версию, удовлетворяющую требованию awscli-plugin-bolt (из версий: нет)
ОШИБКА: для awscli-plugin-bolt не найдено подходящего дистрибутива

Поэтому изменили python на python 3 в качестве версии по умолчанию, используя приведенные ниже команды и ссылку. страница.

amazon-linux-extras включает python3.8
ням установить python3.8
альтернативы обновления --install /usr/bin/python python /usr/bin/python3.8 1

А затем установил заглушку болта с помощью pip3.

ням установить python3-пип
pip3 установить awscli-plugin-bolt

Но, тем не менее, команда ниже все еще ищет python 2 и терпит неудачу.

aws sts получить идентификатор вызывающего абонента

Итак, удалил этот контейнер и создал новый, и в качестве первого шага изменил версию Python 3 по умолчанию.

Но на этот раз установка yum самого aws-cli не удалась.

 bash-4.2# yum -yq установить aws-cli
  Файл "/usr/bin/yum", строка 30
    кроме KeyboardInterrupt, e:
                            ^
SyntaxError: неверный синтаксис

Пожалуйста, предложите, как получить доступ к командам aws cli из образа докера amazonlinux.

Кажется, это работает, если я изменю изображение на

  изображение: 
    имя: амазонка/авс-кли
    точка входа: [""]

Так что не нужно устанавливать aws cli самостоятельно. Но по умолчанию он поставляется с 3.7, как изменить это как часть изображения. И главный вопрос, в gitlab выше изображение работает, с запуском докера я не смог использовать изображение напрямую. Только отдельные команды aws он принимает и сразу закрывает контейнер

Tim avatar
флаг gp
Tim
Я не думаю, что AWS CLI v2 установлен yum. Попробуйте установить его вручную. Обязательно проверьте версию после ее установки, чтобы убедиться, что вы используете CLI v2.x https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html.

Ответить или комментировать

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