44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
|
# Guide
|
||
|
|
||
|
## Deploy Lambda Container Image
|
||
|
|
||
|
Create the ECR (Elastic Container Registry) repository and authenticate docker to it.
|
||
|
|
||
|
```sh
|
||
|
export AWS_REGION=us-west-1
|
||
|
export AWS_PROFILE=playground
|
||
|
aws configure sso --profile $AWS_PROFILE
|
||
|
aws ecr create-repository --repository-name hello-world --region $AWS_REGION --profile $AWS_PROFILE
|
||
|
export REPOSITORY_URI=$(aws ecr describe-repositories --repository-names hello-world --region $AWS_REGION --profile $AWS_PROFILE | jq -r '.repositories[0].repositoryUri')
|
||
|
aws ecr get-login-password --region $AWS_REGION --profile $AWS_PROFILE | docker login --username AWS --password-stdin $REPOSITORY_URI
|
||
|
```
|
||
|
|
||
|
Build the docker image and push it to the ECR repository.
|
||
|
|
||
|
```sh
|
||
|
docker build -t hello-world .
|
||
|
docker tag hello-world:latest $REPOSITORY_URI:latest
|
||
|
docker push $REPOSITORY_URI:latest
|
||
|
```
|
||
|
|
||
|
### Testing
|
||
|
|
||
|
Test the container image locally.
|
||
|
|
||
|
```sh
|
||
|
docker run -p 8000:8000 hello-world:latest
|
||
|
```
|
||
|
|
||
|
Check it in another terminal tab.
|
||
|
|
||
|
```sh
|
||
|
curl http://localhost:8000
|
||
|
docker stop $(docker ps -q)
|
||
|
```
|
||
|
|
||
|
Cleanup the repo.
|
||
|
|
||
|
```sh
|
||
|
aws ecr delete-repository --repository-name hello-world --region $AWS_REGION --profile $AWS_PROFILE --force
|
||
|
```
|