[Docker] 9-1. Docker-Compose Leafy 실습

null·2025년 3월 6일
0

Docker

목록 보기
24/24


# docker-compose.yml

version: '3'
services:
  leafy-postgres:
    build: ./leafy-postgresql
    image: leafy-postgres:5.0.0-compose
    volumes:
      - mydata:/var/lib/postgresql/data
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 256M
    restart: always

  leafy-backend:
    build: ./leafy-backend
    image: leafy-backend:5.0.0-compose
    environment:
      - DB_URL=leafy-postgres
    depends_on:
      - leafy-postgres
    deploy:
      resources:
        limits:
          cpus: '1.5'
          memory: 512M
    restart: on-failure
      
  leafy-front:
    build: ./leafy-frontend
    image: leafy-front:5.0.0-compose
    environment:
      - BACKEND_HOST=leafy-backend
    ports:
      - 80:80
    depends_on:
      - leafy-backend
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 64M
    restart: on-failure

volumes:
  mydata:
  • leafy-postgres / leafy-backend / leafy-front 로 총 3개의 컨테이너로 정의 되어있다

  • depends_on
    : 특정 컨테이너가 실행 될 때 까지 컨테이너 실행을 보류
    : 정의하지 않으면 모든 컨테이너가 동시에 실행

github Actions + Docker Hub 적용


# docker-compose.yml

version: '3'
services:
  leafy-postgres:
    image: seulgi90/leafy-postgres:e7b7f7ca687aa1caa1fed26e277366bd5bb1a3ba
    volumes:
      - mydata:/var/lib/postgresql/data
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 256M
    restart: always

  leafy-backend:
    build: ./leafy-backend
    image: leafy-backend:5.0.0-compose
    environment:
      - DB_URL=leafy-postgres
    depends_on:
      - leafy-postgres
    deploy:
      resources:
        limits:
          cpus: '1.5'
          memory: 512M
    restart: on-failure
      
  leafy-front:
    image: seulgi90/leafy-frontend:efd5ceabb3dde78768872cb57f425e68a4770960
    environment:
      - BACKEND_HOST=leafy-backend
    ports:
      - 80:80
    depends_on:
      - leafy-backend
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 64M
    restart: on-failure

volumes:
  mydata:
  • 깃 허브에 새로운 코드가 푸시
  • github Actions가 실행 (setting 설정: 도커허브 계정 연결)
  • 새로운 Docker 이미지를 빌드하고 Docker Hub에 푸시 (github.sha는 커밋 해시로 연결됨)

0개의 댓글