/docker-compose.yml
"docker-compose.yml" 25L, 509B 2,9 All
version: '3'
services:
nginx:
container_name: nginx
build: ./nginx
image: docker-django/nginx
restart: always
ports:
- "80:80"
volumes:
- ./Django-Deploy:/srv/docker-django
- ./log:/var/log/nginx
depends_on:
- django
django:
container_name: django
build: ./Django-Deploy
image: docker-django/django
restart: always
command: uwsgi --ini uwsgi.ini
volumes:
- ./Django-Deploy:/srv/docker-django
- ./log:/var/log/uwsgi
이렇게 작성해 줍니다. 간단한 의미에 대해서 알아보겠습니다.
우선 docker-compose의 버전을 적어주고 container의 이름을 각각 명시해 줍니다. 그리고 컨테이너를 만들기 전에 만들 이미지의 이름을 적어줍니다. 그리고 build해줄 폴더의 경로를 적어줍니다. 그리고 여기서 가장 중요한 것은 depends_on입니다. 제가 이전에도 말했지만 django가 선행되고 nginx컨테이너가 설치되어야 지만 이 아키텍쳐가 돌아간다고 했습니다.
그리고 volumnes를 적어주는데 : 앞에는 실제 Host의 폴더 경로, 뒤에는 컨테이너 상의 경로를 적어줍니다. log파일을 넣고 싶다면 이도 명시해 주면 됩니다. 그리고 django컨테이너를 실행하면서 uwsgi.ini파일을 통해서 uwsgi.sock을 만들어 주어야 합니다.
그리고 이를 실행하기 위해서는 아래 명령어를 쳐주셔야 합니다.
$docker-compoase up -d --build
$docker-compose ps
그리고 아래 명령어를 통해 잘 돌아가고 있는지 확인해 줍니다.
그리고 이미지가 잘 생성되고 컨테이너가 잘 run되고 있는지 확인해주는 과정을 거쳤습니다.
이제 80번 포트에 nginx을 세워놨으므로, 이에 직접 EC2인스턴스의 80번 포트로 들어가서 잘 동작하는지 확인해 보도록 하겠습니다.
정상 작동합니다!!
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - AWS CLI를 통한 작업 정의2 (0) | 2022.07.06 |
---|---|
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - AWS CLI 개요 + AWS CLI를 통한 작업 정의1 (0) | 2022.07.06 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - (인프라) AWS Fargate을 통한 배포 (0) | 2022.07.05 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - (인프라) AWS ECR에 컨테이너 업로드 (0) | 2022.07.05 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - Nginx Docker Build (0) | 2022.07.05 |