(AWS) ElasticBeansTalk 로 도커 컨테이너 배포하기

1. Single Container인 경우

Dockerfile을 생성하여 이미지를 사용자 지정하고 Docker 컨테이너를 Elastic Beanstalk에 배포합니다.
Dockerrun.aws.json 파일을 생성하여 기존 Docker 이미지에서 Elastic Beanstalk으로 Docker 컨테이너를 배포합니다.

애플리케이션 파일, 모든 애플리케이션 파일 종속성, Dockerfile 및 Dockerrun.aws.json 파일이 포함된 .zip파일을 만듭니다. Dockerfile 또는 Dockerrun.aws.json 파일만 사용하여 애플리케이션을 배포하는 경우 파일을 .zip 파일로 압축할 필요가 없습니다.

2. MultiContainer인 경우

docker-compose.yml 을 Dockerrun.aws.json 으로 변경한다.
이를 쉽게해주는 pip 라이브러리가 존재한다.
(https://container-transform.readthedocs.io/en/latest/)

ElasticbeansTalk 생성시 멀티 컨테이너로 옵션을 변경하여 생성한다.

그후 생성한 Dockerrun.aws.json파일을 업로드 한다.

업로드가 되더라도, 로그를 보게되면 에러로그가 있을 수 있다.
이는 외부에서 도커 컨테이너로 접속시 아이피 주소를 인식하지 못하는 경우이다.
이를 위해 다음과 같이 변경한다.

localhost:9092 -> 생성한 (url):(port번호) (외부 접속시)

참고 사이트 : https://rmoff.net/2018/08/02/kafka-listeners-explained


댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬