buildspec-docker.yml
version: 0.2
env:
variables:
AWS_REGION: "REGION"
ECR_REPO_NAME: "ECR_REPO_NAME"
AWS_ACCOUNT_ID: "AWS_ACCOUNT_ID"
phases:
install:
runtime-versions:
python: 3.8
pre_build:
commands:
- echo Logging in to Amazon ECR...
- aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
build:
commands:
- python3 -m compileall src/app.py
- mv src/__pycache__/*.pyc ./app.pyc
- time=$(date -d "+9 hours" +'%y%m%d%H%M%S')
- docker build -t $ECR_REPO_NAME .
- docker tag $ECR_REPO_NAME:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPO_NAME:$time
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPO_NAME:$time
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- app.pyc
YAML
복사
Dockerfile
FROM python:3.8-alpine
WORKDIR /app
COPY app.pyc .
RUN pip3 install --no-cache-dir flask && apk add --no-cache curl && rm -rf /root/.cache/
EXPOSE 80
CMD ["flask", "run", "host=0.0.0.0", "port=80"]
Docker
복사














