Apache Airflow

Technology

워크플로우 오케스트레이션 플랫폼 → Docker 참조

Docker Compose로 설치 (Apple Silicon M1/M2)

사전 조건

  1. Lima 설치 (M1 Mac용 Docker Desktop 대체)
  2. Airflow 공식 Docker Compose 가이드

Lima 마운트 설정 (read-only 문제 해결)

Lima는 기본 read-only 정책이라 dags 디렉토리 마운트 시 별도 설정 필요

~/.lima/default/lima.yaml:

mounts:
  - location: "~/docker/airflow"
    writable: true

docker-compose.yaml 주요 설정

version: '3'
x-airflow-common:
  &airflow-common
  image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.4.3}
  environment:
    &airflow-common-env
    AIRFLOW_HOME: /home/airflow
    AIRFLOW_UID: 50000
    AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
  volumes:
   - ./dags:/home/airflow/dags
   - ./logs:/home/airflow/logs
   - ./plugins:/home/airflow/plugins

.env 설정

# ~/docker/airflow/.env
AIRFLOW_UID=50000

airflow 계정의 기본 UID가 50000이므로 일치시켜야 함

Executor 종류

Executor 특징
Local Executor 단일 머신, 병렬 실행 지원
Celery Executor 분산 처리, 워커 노드 여러 개 운영 가능

관련 노트

참고