DevOps & Infra/AWS
[AWS] ElasticBeanstalk에서 Docker Application 사용하기
나른한댕댕이🐶
2023. 4. 19. 14:11
728x90
반응형
# 배경
모든 환경에서 Dockerfile을 사용하여 코드를 배포하기 위해서 Elastic Beanstalk(이하 EB)에 Dockerfile을 사용하여 Docker Application으로 올려보기로 하였다.
# Docker Application 환경 구성
Elastic Beanstalk의 구성은 이전에 진행한 방법과 다를 것이 없었다.
Application을 생성할 때 플랫폼을 Docker로 선택해야 한다는 것 외에는 다 같은 방식으로 진행하였다.
2021.11.11 - [DevOps & Infra/AWS] - [AWS] ElasticBeanstalk 생성하기
[AWS] ElasticBeanstalk 생성하기
AWS ElasticBeanstalk 이란? https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/Welcome.html AWS Elastic Beanstalk란 무엇입니까? - AWS Elastic Beanstalk AWS Elastic Beanstalk란 무엇입니까? Amazon Web Services(AWS)는 100개 이상의
baekji919.tistory.com
# Dockerfile
소스코드 빌드를 위한 이미지를 만들기 위한 Dockerfile을 작성한다.
FROM golang:1.19 AS builder
WORKDIR /go/src/test-service
COPY . .
# disable cgo
ENV CGO_ENABLED=0
RUN go mod download
RUN go install
# install php extensions, apache/nginx etc.
# make application docker image use alpine
FROM alpine:3.16
# using timezone
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Seoul
RUN apk add -U tzdata
WORKDIR /go/bin/
# copy execute file to image
COPY --from=builder /go/bin/test-service .
EXPOSE 8080
CMD ["./test-service"]
# Dockerrun.aws.json
Docker로 동작을 시키기 위해서는 해당 소소코드에 Docker를 실행시킬 수 있는 Dockerrun.aws.json 파일이 필요하다
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "jihyunb/test-service:latest",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8080",
"HostPort": "8080"
}
]
}
728x90
반응형