반응형
Compose를 사용하는 이유
여러 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리 - 하나의 프로젝트로 다룰 수 있는 작업 환경을 제공.
프로젝트에서 컨테이너를 사용 할 때 내용과 환경을 직관적이고 명시적으로 관리 할 수 있게 된다. - IaC
IaC 코드형 인프라 - 코드를 통해 인프라를 관리는 것을 의미한다.
Docker 공식 홈페이지 실습을 따라한 가이드
Try Docker Compose | Docker Documentation
보고 따라하면 된다.
도커 파일
# syntax=docker/dockerfile:1
FROM python:3.7-alpine -기본 바탕 이미지
WORKDIR /code - 실행할 영역
ENV FLASK_APP=app.py - 플라스크 환경변수
ENV FLASK_RUN_HOST=0.0.0.0 - 플라스크 동작할 호스트
RUN apk add --no-cache gcc musl-dev linux-headers - 파이썬 apk 패키지 실행
COPY requirements.txt requirements.txt - 호스트의 txt 파일 복사
RUN pip install -r requirements.txt - txt에 명시된 파이썬 패키지 설치
EXPOSE 5000 - 포트 설정
COPY . . - 호스트에있는 파일들 복사
CMD ["flask", "run"] - 컨테이너를 시작하면 시작할 명령어
docker-compose.yaml 파일
services:
web:
build: . - 호스트에 있는 Dockerfile을 빌드한다.
ports: - 포트포워딩
- "8000:5000"
volumes: - 볼륨마운트한다. = 호스트에있는 app.py를 사용한다.
- .:/code
environment: - 환경변수로 flask의 debug를 시작한다.
FLASK_DEBUG: "true"
redis: - 레디스를 설치 후 실행한다.
image: "redis:alpine"
반응형
'경기도 미래기술학교 클라우드 > 실습 가이드' 카테고리의 다른 글
Docker network 실습 (0) | 2023.07.19 |
---|---|
ssl 실습 (0) | 2023.07.17 |
Docker를 이용한 간단한 script 자동화 (0) | 2023.07.14 |
Docker 명령어 실습 가이 (0) | 2023.07.11 |
EEM 가이드 (0) | 2023.07.05 |