Paano Gumawa ng Container Image para sa Amazon ECS?

Paano Gumawa Ng Container Image Para Sa Amazon Ecs



Ang Amazon ECS ay kumakatawan sa Elastic Container Service na nagpapahintulot sa mga developer na magsagawa, pamahalaan, at sukatin ang mga container ng Docker sa Amazon. Nag-aalok ito ng lubos na nasusukat at maaasahang forum para sa pag-deploy ng mga containerized na application sa AWS (Amazon Web Service). Ito ay isang Docker container registry na inaalok ng AWS. Pinahihintulutan nito ang mga developer na panatilihin, pangasiwaan, at i-deploy ang mga imahe ng container ng Docker.

Ipapakita ng artikulong ito ang:







Paano Gumawa/Bumuo ng Docker Image para sa Amazon ECS?

Maaaring gamitin ang Docker CLI para sa pagtulak, paghila, at pamamahala ng mga larawan sa mga repositoryo ng Amazon ECR. Upang lumikha ng imahe ng lalagyan para sa Amazon ECS, sundin ang mga nabanggit na hakbang sa ibaba:



  • Bumuo ng Docker file.
  • Lumikha ng imahe ng Docker sa pamamagitan ng ' docker build -t . ” utos.
  • I-verify ang larawan ng Docker.
  • Patakbuhin ang imahe ng Docker sa pamamagitan ng ' docker run -t -i -p 80:80 ” utos.

Hakbang 1: Lumikha ng Docker file



Sa Visual Studio code, lumikha ng isang bagong file na pinangalanang ' Dockerfile ” at i-paste ang code sa ibaba dito:





MULA sa ubuntu:pinakabago

TAKBO apt-get update && apt-get -at i-install apache2 && apt-get clean

TAKBO echo 'Hello AWS!' > / ay / www / html / index.html

EXPOSE 80

CMD [ 'apache2ctl' , '-D' , 'FOREGROUND' ]

Sa snippet sa itaas:



  • Ang ' MULA SA Tinutukoy ng utos ng ” ang batayang imahe na gagamitin i.e., Ubuntu sa aming kaso.
  • Ang ' TAKBO 'Ang pagtuturo ay ginagamit upang i-update ang listahan ng package at i-install ang ' apache2 ” web server gamit ang “ apt-get ” manager ng package. Ang ' apt-get clean Ang utos ng ” ay nagpapalaya ng espasyo sa disk sa pamamagitan ng pag-alis ng anumang naka-cache na mga file ng package na hindi na kailangan.
  • Ang ' RUN echo ' lumilikha ng isang simpleng index.html file sa root directory ng web server ' /var/www/html 'na nagpapakita ng mensahe' Hello AWS! ”.
  • Ang ' EXPOSE Inilalantad ng command ang port 80 na siyang default na port na ginagamit ng Apache upang maghatid ng trapiko sa web.
  • Ang ' CMD ” utos ay tumutukoy sa utos na isasagawa kapag nagsimula ang lalagyan. Sa aming kaso, ito ay ang Apache web server at pinapatupad ito sa harapan.

Ang Docker file na ito ay lumilikha ng Ubuntu-based na container image na nag-i-install ng Apache2 web server at naglalantad ng port 80.

Hakbang 2: Bumuo ng Docker Image para sa Amazon ECS

Pagkatapos, lumikha ng isang imahe ng Docker mula sa Docker file sa pamamagitan ng pagsulat ng ' docker build -t . ” utos. Dito, lumilikha kami ng isang imahe ng Docker na pinangalanang ' aws-img ”:

pagtatayo ng docker -t aws-img .

Ang imahe ng Docker ay nilikha.

Hakbang 3: I-verify ang Nilikhang Larawan

Upang matiyak na matagumpay na nalikha ang imahe ng Docker, isagawa ang nakalistang command sa ibaba:

mga larawan ng docker

Sa larawan sa itaas, ang naka-highlight na bahagi ay nagpapakita na ang imahe ng Docker ' aws-img ” ay matagumpay na nalikha.

Hakbang 4: Patakbuhin ang Docker Image

Ngayon, gamitin ang ' tumakbo sa pantalan 'utos kasama ang' -t 'at' -i ” na mga opsyon at tukuyin ang port at pangalan ng imahe upang patakbuhin ang bagong likhang imahe ng Docker:

tumakbo sa pantalan -t -i -p 80 : 80 aws-img

dito:

  • Ang ' -t 'Ang opsyon ay ginagamit para magsimula ng pseudo-TTY terminal.
  • Ang ' -i ” Ang flag ay nagbibigay-daan sa pakikipag-ugnayan sa container ng Docker.
  • Ang ' -p 'Ang opsyon ay ginagamit para sa pagtatalaga ng port' 80:80 ”.
  • Ang ' aws-img ” ay ang imahe ng Docker:

Sa paggawa nito, nagsimulang tumakbo ang imahe ng Docker sa nakatalagang port na makikita sa screenshot sa ibaba:

Paano Push/Mag-upload ng Docker Image sa Amazon ECR?

Upang itulak/i-upload ang imahe ng lalagyan sa Amazon ECR, tingnan ang mga sumusunod na hakbang:

  • I-configure ang AWS CLI
  • Gumawa ng Amazon ECR repository gamit ang “ aws ecr create-repository –repository-name –region ” utos.
  • I-tag ang larawan ng Docker sa pamamagitan ng “ docker tag ” utos.
  • Mag-login sa Amazon ECR gamit ang Docker.
  • Itulak ang imahe ng Docker sa Amazon ECR sa pamamagitan ng “ docker push ” utos.
  • Pagpapatunay.

Tandaan: Tingnan ang aming nakatuon post upang i-install ang AWS CLI sa Windows.

Hakbang 1: I-configure ang AWS CLI

Una, isagawa ang ibinigay na command at ibigay ang mga kinakailangang kredensyal para i-configure ang AWS CLI:

aws configure

Tandaan: Upang makakita ng higit pang impormasyon tungkol sa configuration ng AWS CLI, tingnan ang aming post tungkol doon.

Hakbang 2: Lumikha ng Amazon ECR Repository

Pagkatapos, lumikha/gumawa ng Amazon ECR repository para sa pag-upload ng mga larawan ng Docker gamit ang “ aws ecr create-repository –repository-name –region ” utos:

aws ecr create-repository --repository-pangalan aws-repo --rehiyon ap-timog-silangan- 1

Ang nabanggit na utos ay lumikha ng isang repositoryo sa Amazon ECR na makikita sa screenshot sa ibaba:

Sa output sa itaas, ang ' aws-repo ” makikita ang repository.

Hakbang 3: I-tag ang Docker Image

Ngayon, i-tag ang nais na larawan ng Docker gamit ang URL ng repositoryo gamit ang “ docker tag ” utos:

docker tag aws-img 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com / aws-repo

Hakbang 4: Mag-log in sa Amazon ECR

Pagkatapos nito, patakbuhin ang ' aws ecr get-login-password –rehiyon | docker login –username AWS –password-stdin .dkr.ecr..amazonaws.com ” para mag-sign in sa Amazon ECR gamit ang Docker:

aws ecr get-login-password --rehiyon ap-timog-silangan- 1 | docker mag log in --username AWS --password-stdin 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com

dito,

  • Ang ' aws ecr get-login-password Ang utos ng ” ay ginagamit upang kunin ang isang token ng pagpapatunay para sa isang tinukoy na rehistro ng ECR.
  • Ang ' -rehiyon ” Ang flag ay ginagamit upang tukuyin ang rehiyon ng AWS kung saan matatagpuan ang ECR registry. Sa aming kaso, ito ay ang ' ap-timog-silangan-1 ” region which is Asia Pacific Singapore.
  • Ang ' pag-login sa docker Ang utos ng ” ay ginagamit upang mag-sign in sa isang nais na pagpapatala ng Docker. Nangangailangan ito ng username at password para ma-authenticate gamit ang registry.
  • Ang ' –username ” na opsyon ay tumutukoy sa username na gagamitin kapag nagla-log in sa ECR registry. Halimbawa, tinukoy namin ang isang ' AWS ” username.
  • Ang ' –password-stdin 'Ang opsyon ay nagsasabi sa Docker na kunin ang password mula sa karaniwang input.
  • Ang ' dkr.ecr.ap-southeast-1.amazonaws.com ” ay ang URL ng ECR registry. Kabilang dito ang AWS account ID at ang AWS region kung saan matatagpuan ang ECR registry:

Ang output sa itaas ay nagpapahiwatig na matagumpay kaming naka-log in sa Amazon ECR.

Hakbang 5: Itulak ang Larawan ng Docker sa Amazon ECR

Sa wakas, itulak ang imahe ng Docker sa Amazon ECR sa pamamagitan ng ' docker push ” utos:

> tulak ng docker 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com / aws-repo

Ayon sa output sa itaas, ang imahe ng Docker ay itinulak sa Amazon ECR.

Hakbang 6: Pag-verify

Panghuli, i-redirect sa Amazon elastic container registry at i-verify kung ang imahe ng Docker ay itinulak doon o hindi:

Sa output sa itaas, ang imahe ng Docker ay matagumpay na nai-push sa Amazon ECR.

Konklusyon

Upang lumikha ng isang imahe ng lalagyan para sa Amazon ECS, una, lumikha ng isang Docker file. Pagkatapos, bumuo ng isang imahe ng Docker mula sa nais na Docker file gamit ang ' docker build -t . ” utos at patakbuhin ito. Pagkatapos nito, i-configure ang Amazon CLI at lumikha ng isang Amazon ECR repository. Susunod, i-tag ang imahe ng Docker at mag-log in sa Amazon ECR gamit ang Docker. Sa wakas, itulak ang imahe ng Docker sa Amazon ECR sa pamamagitan ng ' docker push ” utos.