여기에서는 간단히 order서비스를 Django를 통해서 만들고 docker compose 설정까지 간단히 해보겠습니다.
$django-admin startproject order
이를 통해 간단한 order틀을 만들어 주었습니다. 그리고 루트 폴더에 requirements.txt, Dockerfile, docker-compose.yml을 작성해 주도록 하겠습니다.
/requirements.txt
Django==3.1.3
djangorestframework==3.12.2
mysqlclient==2.0.1
django-mysql==3.9
django-cors-headers==3.5.0
pika==1.1.0
개발에 필요한 의존성을 다 적어 주었습니다. pika는 RabbitMQ를 위한 툴입니다.
/Dockerfile
FROM python:3.9
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY . /app
CMD python manage.py runserver 0.0.0.0:8000
간단히 작업 디렉토리를 /app으로 설정해주고 의존성을 설치하고 8000번포트로 runserver를 해주는 Docker명령어를 적어주었습니다.
/docker-compose.yml
version: '3.8'
services:
backend:
build:
context: .
dockerfile : Dockerfile
ports:
- 8000:8000
volumes:
- .:/app
다음과 같이 현제 대릭토리에서 Dockerfile을 실행하고 backend라는 서비스 이름으로 진행하도록 하겠습니다. 그리고 8000번포트로 연결시켜주고. 현제 디렉토리를 /app과 연결해 주었습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - Django, Models (0) | 2022.07.08 |
---|---|
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개발) 도메인 서비스 구현 - Django, Mysql (0) | 2022.07.08 |
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (설계) 마이크로서비스 아키텍쳐 (0) | 2022.07.07 |
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (설계) 마이크로서비스 간의 통신 방식(Kafka, RabbitMQ) (0) | 2022.07.07 |
[ DevOps ] - AWS 기반 대규모 아키텍트 설계 - (개요) 마이크로서비스의 장단점 (0) | 2022.07.07 |