반응형

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

+ Recent posts