Как да

Работещи контейнери на Docker на AWS ECS - Качете изображения на Docker в ECR

Работещи контейнери на Docker на AWS ECS - Качете изображения на Docker в ECR

Тази статия е част 2 от 3-частично ръководство за стартиране на Docker контейнери на AWS ECS. ECS означава Elastic Container Service. Това е управлявана контейнерна услуга, която може да изпълнява докер контейнери. Въпреки че AWS предлага и управление на контейнери с Kubernetes, (EKS) има и свое собствено решение (ECS).

Ето част от статия 1: Стартиране на Docker контейнери на AWS с ECS - Част 1

Ръководството ще обхваща:

Част 2 от това ръководство ще обхваща създаването на регистър на изображения (ECR) и изпращането на изображения в регистъра.

За тази демонстрация ще използваме прост световен образ. Ще изтеглим изображението от докера и ще го изпратим в нашия регистър на контейнери (ECR).

Изисквания за настройка / предпоставки

Потребителят / читателят трябва да се увери, че са изпълнили изискванията по-долу, преди да продължат с това ръководство. Това включва:

Създайте AWS ECR (Elastic Container Registry)

Регистърът на еластичен контейнер (ECR) е AWS управляван регистър на контейнери за съхраняване на изображения на докер. Ще създадем регистъра, като използваме шаблона CloudFormation по-долу.

AWSTemplateFormatVersion: "2010-09-09" Описание: 'Шаблон за създаване на ECR хранилище' Параметри: ECR: Тип: String Описание: "Името на вашия ECR регистър" Ресурси: ECRRepository1: Тип: "AWS :: ECR :: Repository "Свойства: RepositoryName: test-ecr ImageScanningConfiguration: scanOnPush:" true "Етикети: - Ключ: Име Стойност: !Ref ECR ​​- Key: created By Value: Maureen Barasa - Key: Project Value: test-ecs Outputs: RegistryName: Value: !Ref ECR ​​Описание: Име на регистъра ECR

Читателят / потребителят трябва да персонализира шаблона, за да отразява техните специфични изисквания. Специфични аспекти на шаблона за персонализиране са:

За да създадете регистъра ръчно, на конзолата ECR; щракнете върху създаване на хранилище.

Създаване на хранилище

След това конфигурирайте настройките на хранилището.

Конфигурирайте настройките на хранилището

Когато приключите, щракнете върху създаване. Вече ще създадете вашето ECR хранилище.

Качете изображение в AWS ECR с помощта на AWS CodeBuild

След като разполагате с вашето хранилище на изображения, е време да го качите в хранилището. Ще използваме CodeBuild, за да издърпаме изображението от центъра на Docker и да го изпратим в регистъра ECR.

В конзолата CodeBuild щракнете върху създаване на проект за изграждане.

Създаване, изграждане на проект

След това в конфигурациите на проекта и източника въведете името и описанието на проекта. Също така можете да добавяте тагове за вашия проект за изграждане.

За източник не избирайте източник. Ако имате вашия докер файл в хранилище или s3 група, изберете източника си като това хранилище. Опциите за източник са:

Конфигурация на проекта и източника

След това под средата изберете средата, в която искате да бъде изпълнен вашият проект за изграждане. Тъй като нашият образ е Linux образ, ние избрахме Linux среда.

Изберете Създаване на среда

За ролята изберете нова сервизна роля. N / B: Уверете се, че към ролята е прикрепена правилата AmazonEC2ContainerRegistryFullAccess. В противен случай CodeBuild няма да работи.

След това, под buildspec, изберете вмъкване на команди за изграждане и поставете някой от двата шаблона по-долу:

версия: 0.2 фази: инсталиране: версии за изпълнение: docker: 19 команди: - curl "https: // awscli.amazonaws.com / awscli-exe-linux-x86_64.zip "-o" awscliv2.zip "- разархивирайте awscliv2.цип - ./ aws / install pre_build: команди: - echo logging to ecr - $ (aws ecr get-login --no-include-email --region eu-central-1) build: команди: - docker pull hello-world - docker tag здравей-свят: най-новите 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите post_build: команди: - echo build завършен на 'date' - echo pushing to repo - docker push 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите - echo Писане на дефиниции ... - printf '["name": "Hello_World", "imageUri": "% s"]' 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите> HelloWorldtaskdefinition.json артефакти: файлове: HelloWorldtaskdefinition.json

В случай, че искате да изградите изображението от файл на докер и имате код при фиксиране на код. Използвайте долната спецификация за изграждане.

версия: 0.2 фази: инсталиране: версии за изпълнение: docker: 19 команди: - curl "https: // awscli.amazonaws.com / awscli-exe-linux-x86_64.zip "-o" awscliv2.zip "- разархивирайте awscliv2.цип - ./ aws / install pre_build: команди: - echo logging to ecr - $ (aws ecr get-login --no-include-email --region eu-central-1) build: команди: - echo start build на 'date' - cd ./ - docker build -t hello-world . - docker тагове hello-world: най-новите 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите post_build: команди: - echo build завършен на 'date' - echo pushing to repo - docker push 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите - echo Писане на дефиниции ... - printf '["name": "Hello_World", "imageUri": "% s"]' 429758582529.dkr.екр.eu-central-1.amazonaws.com / hello-world: най-новите> HelloWorldtaskdefinition.json артефакти: файлове: HelloWorldtaskdefinition.json

След това под артефакти изберете кофата s3, създадена по-рано според контролния списък с изисквания.

Изграждане на артефакти

И накрая, в регистрите можете да избирате между CloudWatch Log Group или сегмент S3.

Изберете Опции за регистриране

Когато приключите, щракнете върху създаване на проект за изграждане. След като проектът е създаден, вече можете да щракнете върху старт изграждане.

Тъй като проектът за изграждане се изпълнява, можете да проверите напредъка под „Регистрационни файлове и подробности за фазата“. Вижте по-долу нашия проект за изграждане.

Изграждане на статус на проекта

Изображението е изпратено в регистъра

Сега успешно изтеглихме изображението от докера и го изпратихме в нашия регистър на ECR. В следващата статия ще разгледаме как да разположим изображението в AWS ECS клъстер.

Част 3: AWS ECS: Внедряване на контейнери с използване на дефиниции на задачи и услуги - Част 3

Важни връзки

Други ръководства за AWS:

Щастлива сграда!!!

CentOS 7 срещу CentOS 8 - Сравнение на характеристиките
ВъведениеКогато CentOS 8 беше официално пуснат в по-късните части на тази година (2019), вероятно мнозина се чудеха какво би се променило забележителн...
Най-добрите терминални инструменти за мониторинг за Linux
Един основен ключ към успеха на диагностиката и откриването на това, което помага на системата, когато тя показва признаци на „лошо здраве”Е възможнос...
Как да инсталирате Bash 5.0 на CentOS 7
Баш е ш-съвместим интерпретатор на команден език, който изпълнява команди, прочетени от стандартния вход или от файл. Bash също включва полезни функци...