-
Acesse a página Get Docker (Obter Docker) no site do Docker. Selecione a aplicação Docker Desktop que atende aos seus requisitos. Siga as instruções fornecidas para instalar o Docker Desktop.
-
Na sua máquina local, crie uma pasta com três arquivos: Dockerfile, requirements.txt com bibliotecas e app.py com instruções de importação.
Observação: use a versão mais recente do Python para o registro público do Amazon Elastic Container Registry (Amazon ECR).
O exemplo de Dockerfile a seguir usa o Python 3.8:
FROM public.ecr.aws/lambda/python:3.8
# Copy function code
COPY app.py ${LAMBDA_TASK_ROOT}
# Install the function's dependencies using file requirements.txt
# from your project folder.
COPY requirements.txt .
RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"
# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile)
CMD [ "app.handler" ]
O exemplo de arquivo app.py a seguir inclui um exemplo de declaração de importação:
import sysdef handler(event, context):
return 'Hello from AWS Lambda using Python' + sys.version + '!'
-
Crie sua imagem do Docker com o comando docker build e um nome de imagem.
Este é um comando docker build com um exemplo de "hello-world":
docker build -t hello-world .
Observação: se você receber um erro de autenticação ao extrair do repositório público do Amazon ECR, consulte Amazon ECR Public troubleshooting (Solução de problemas do Amazon ECR Public).
-
Inicie a imagem do Docker com o comando docker run.
Este é um comando docker run com um exemplo de "hello-world":
docker run -p 9000:8080 hello-world
-
Teste sua aplicação com o emulador Lambda Runtime Interface (RIE) da AWS no site do GitHub. Em uma nova janela de terminal, execute um comando curl para publicar um evento no seguinte endpoint:
curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{}'
Esse comando invoca a função running (em execução) na imagem do contêiner e, em seguida, retorna uma resposta.
-
Autentique a CLI do Docker em seu registro do Amazon ECR.
Altere o ID da conta e a região da AWS no comando para o ID e a região da sua conta.
Este é um exemplo de comando para autenticar a CLI do Docker no registro do Amazon ECR:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com
-
Crie um repositório no Amazon ECR usando o comando create-repository.
Este é um exemplo do comando create-repository:
aws ecr create-repository --repository-name hello-world --image-scanning-configuration scanOnPush=true --image-tag-mutability MUTABLE
-
Marque sua imagem para combinar o nome do seu repositório com o comando docker tag. Em seguida, implante a imagem no Amazon ECR com o comando docker push.
Altere o ID da conta e a região da AWS no comando para o ID e a região da sua conta.
Este é um exemplo do comando docker tag:
docker tag hello-world:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest
Este é um exemplo do comando docker push:
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest
-
Com sua imagem de contêiner no registro de contêiner do Amazon ECR, crie e execute uma função do Lambda. Para obter mais informações, consulte Criar uma função do Lambda usando uma imagem de contêiner.