본문 바로가기

Coding/DevOps22

AWS ECS에 docker-compose.yml 배포하는 방법 이전 포스팅에서는 단일 도커파일(Dockerfile)을 ECS에 배포하는 방법에 대해 다뤘었다.하지만 실제 프로덕션 단계에서는 docker-compose를 통해 여러개의 도커를 하나로 엮어서 사용하는 경우가 많다.ECS는 EC2서비스 위에 도커가 돌아가는 형태인데, docker-compose를 통해 배포해준다면하나의 EC2위에 여러개의 도커 컨테이너가 돌아간다고 생각하면 된다.먼저 aws와 ecs-cli를 설치해줘야 한다.나는 OSX를 사용하므로 모든 명령어를 맥북 기준으로 설명한다.아래의 명령어를 통해 aws cli를 설치해준다. pip3 install awscli 다음으로 아래의 명령어로 ecs-cli를 설치한다. sudo curl -o /usr/local/bin/ecs-cli https://s3.a.. 2018. 12. 31.
AWS ECS에 단일 도커 컨테이너 배포하는 방법 본 포스팅은 도커 컨테이너를 AWS ECS에 업로드하는 방법에 대한 포스팅이다.하지만 클러스터, 작업 정의등에 대한 자세한 설명은 하지 않을 것이므로 관련 내용은직접 찾아보길 바란다.예제는 간단한 플라스크 어플을 띄우는 것으로 한다.먼저 아래의 내용을 통해 Dockerfile을 만든다. FROM python:3.6.5MAINTAINER hide@hides.kr ADD . /home/hideWORKDIR /home/hideRUN pip install -r requirements.txtEXPOSE 80CMD ["python3", "manage.py"]간단하게 현재 폴더의 내용을 /home/hide로 복사하고 라이브러리를 설치 후80포트를 개방, 플라스크 서버를 실행하는 명령어를 정의해놓은 부분이다.이제 ma.. 2018. 12. 27.
Docker-compose로 Nginx/Flask/MongoDB 배포하는 방법 먼저 해당 포스팅은 기존에 작성해놓은 Flaks boilerplate를 이용한다.(https://github.com/teamhide/flask_restplus_docker/tree/master) 위 boilerplate를 보면 간단하게 유저 생성 조회, 게시판 기능을 갖추고 있다. (글 생성, 조회/댓글 생성, 조회)API에 관한 포스팅이 아니므로 소스에 대한 설명은 생략하고 구조부터 보자. 도커 관련된 dockerfile은 /docker 디렉토리에 들어있고 사용할 환경설정 파일들은전부다 /config폴더에 들어있다. (참고로 redis는 아직 연동하지 않았지만 dockerfile은 미리 생성해놨다) 보통 도커를 이용하여 작업을 하다보면 여러개의 컨테이너를 하나로 묶어주는 작업이 필요하다.이 작업에 사용.. 2018. 11. 13.
Docker-compose로 nginx/python-flask/redis/mongodb 연동하는 방법 기존에는 로컬에서 그냥 작업을 했는데 실제 배포등 여러 이슈들이 발생하여 도커를 사용하기로 했다.간단하게 하나의 이미지를 띄울때는 기본 docker를 사용하면 되는데여러개의 이미지를 띄우고 각 이미지를 연동시키려면 docker-compose를 사용하여하나로 묶어주는 작업이 필요하다.먼저 docker, docker-compose는 설치가 되어있다고 가정한다.아래의 명령어로 nginx, python, redis, mongodb를 설치한다. docker pull nginx:latestdocker pull mongo:laterdocker pull redis:latestdocker pull python:3.6.5 여기서 파이썬 3.6.5버전을 사용한 이유가 궁금할수도 있겠다.이전 포스팅을 보면 알겠지만, 추후 c.. 2018. 11. 9.