hanul-pipeline / stopped_hanul-containers

0 stars 0 forks source link

[Docker] docker-compose.yml 정보 #2

Open json9101 opened 1 year ago

json9101 commented 1 year ago

안녕하세요, 팀 한울의 Jun(@json9101)입니다.

🧑‍🏭 개요

dockfkerfile에 맞는 docker-compose.yml 작성한 내용 공유해드립니다.

json9101 commented 11 months ago

docker-compose 정보

json9101 commented 11 months ago

변경사항

변경된 코드

version: "2.0"

x-environment: &airflow_environment
  - AIRFLOW__CORE__EXECUTOR=LocalExecutor
  - AIRFLOW__CORE__LOAD_DEFAULT_CONNECTIONS=False
  - AIRFLOW__CORE__LOAD_EXAMPLES=False
  - AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql://airflow:airflow@postgres:5432/airflow
  - AIRFLOW__CORE__STORE_DAG_CODE=True
  - AIRFLOW__CORE__STORE_SERIALIZED_DAGS=True
  - AIRFLOW__WEBSERVER__EXPOSE_CONFIG=True
  - AIRFLOW__WEBSERVER__RBAC=False

x-airflow-image: &airflow_image apache/airflow:2.6.3

services:
  fastapi:
    build: .
    ports:
      - "9000:9000"
      - "9100:9100"

  postgres:
    image: postgres:12-alpine
    environment:
      - POSTGRES_USER=airflow
      - POSTGRES_PASSWORD=airflow
      - POSTGRES_DB=airflow
    ports:
      - "5432:5432"

  init:
    image: *airflow_image
    depends_on:
      - postgres
    environment: *airflow_environment
    entrypoint: /bin/bash
    command: -c 'airflow db upgrade && sleep 5 && airflow users create --username admin --password admin --firstname Anonymous --lastname Admin --role Admin --email admin@example.org'

  webserver:
    image: *airflow_image
    restart: always
    depends_on:
      - postgres
    ports:
      - "8080:8080"
    volumes:
      - logs:/opt/airflow/logs
    environment: *airflow_environment
    command: webserver

  scheduler:
    image: *airflow_image
    restart: always
    depends_on:
      - postgres
    volumes:
      - ./dags:/opt/airflow/dags
      - ./lib:/opt/airflow/lib
      - ./src:/opt/airflow/src
    environment: *airflow_environment
    command: scheduler

volumes:
  logs: