неділя, 12 квітня 2020 р.

AWS CLI v2 в Docker-контейнері

AWS запропонувало нову версію свого інтерпретатора команд для CLI у вигляді Docker-контейнера. Це спрощує процедуру встановлення та оновлення AWS CLI, єдине, що вам потрібне, це Docker. Щоправда, також не завадить трішки "хімії" щоб зробити користування зручним. Розберемося детальніше.

Важаємо, що Docker в вас вже встановлений. Якщо ні, існують доволі прості рекомендації щодо того, як його встановити.

$ docker -v
Docker version 19.03.8, build afacb8b

Для встановлення Docker-образу AWS CLI достатньо виконати будь-яку команду, яка потребує запуску контейнера з цього образу (абсолютно подібно до відомої вправи з запуску контейнера hello-world):

$ docker run --rm -it amazon/aws-cli --version
Unable to find image 'amazon/aws-cli:latest' locally
latest: Pulling from amazon/aws-cli
a8d577519c9f: Pull complete
566688c06207: Pull complete
ca757f738665: Pull complete
20a1a6491248: Pull complete
eee974bddccb: Pull complete
Digest: sha256:30119932960947db22fcbabf465c4974134cc30c2c6dc2936694befd55b6ae99
Status: Downloaded newer image for amazon/aws-cli:latest
aws-cli/2.0.7 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev11

Використані опції:
    -it   інтерактивний режим
    --rm  видалення записів про контейнер після завершення його виконання
В принципі, це все, можна користуватись. Образ встановлено:

$ docker images
REPOSITORY     TAG    IMAGE ID     CREATED    SIZE
amazon/aws-cli latest 886e608c1999 5 days ago 287MB

Повторне виконання команди відображення версії:

$ docker run --rm -it amazon/aws-cli --version
aws-cli/2.0.7 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev11

Повністю подібно до виконання аналогічної команди aws попередньої версії:

$ aws --version
aws-cli/1.17.9 Python/2.7.16 Darwin/18.7.0 botocore/1.14.9

Все, що залишається, це зробити використання контейнеризованого AWS CLI більш зручним. Для цього, наприклад, створюємо синонім (alias) в оболонці bash:

$ alias aws='docker run --rm -ti -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'

В команді, якій надається синонім "aws", додатково передбачено монтування теки .aws з домашнього каталогу -- для викоритання інформації про обліковий запис AWS поточного користувача, а також відбувається монтування поточної теки для того, щоб було можливо здійснювати копіювання файлів між локальною файловою системою і, наприклад, сховищами Amazon S3:

$ aws --version
aws-cli/2.0.7 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev11

$ echo "hello-bucket" > hello-bucket

$ aws s3 cp hello-bucket s3://bucket20200412




Оригінальна новина: AWS CLI v2 Docker image

Немає коментарів:

Дописати коментар