기본기/MLOps

[MLOps] Airflow 2 - 환경세팅(with docker)

dohyeon2 2025. 3. 25. 16:21

목차

    안녕하세요 윤도현입니다. 이번 글에서는 Airflow를 docker로 설치하고 세팅하는 방법에 대해 정리하였습니다.

    (모든 설명은 macOS를 기준으로 진행합니다.)

     

    관련글

    [1] [MLOps] Airflow 1 - 기본개념

    [2][MLOps] Airflow 2 - 환경세팅(with docker)

    [3][MLOps] Airflow 3 - 실습

     

     

     

    1. Docker/Docker-compose 버전 확인 및 설치

    docker --version
    # 출력 예시
    Docker version 24.0.5, build ced0996

    만약 위와 같이 출력되지 않는다면 설치가 필요합니다.

     

    1.1 도커 홈페이지에서 Docker Desktop 설치

    설치가 정상적으로 됐는지 확인하기 위해, 버전확인을 다시 진행합니다.

    # 도커 버전 확인
    docker --version
    # 도커 컴포즈 버전 확인
    # 도커 컴포즈는 Docker Desktop에 기본적으로 포함됩니다.
    docker compose version
    # 출력 예시 
    Docker version 24.0.5, build ced0996
    Docker Compose version v2.20.2

     

     

    2. Airflow docker-compose.yaml 파일만 다운로드

    Airflow 공식 깃허브 repo 전체를 clone할 필요는 없습니다. 저는 docker-compose.yaml 파일만 다운로드 합니다.

    # docker-compose.yaml 파일 다운로드
    curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.1/docker-compose.yaml'

     

     

    3. 사용자 설정

    mkdir -p ./dags ./logs ./plugins # 마운트 대상 디렉토리 생성
    echo -e "AIRFLOW_UID=$(id -u)" > .env # 현재 사용자의 UID를 Docker 컨테이너에 전달

     

    4. 데이터베이스 초기화

    모든 운영체제에서 데이터베이스 마이그레이션을 실행하고, 첫 번째 사용자 계정을 생성합니다.

    docker compose up airflow-init
    # 출력 예시
    airflow-init_1       | Upgrades done
    airflow-init_1       | Admin user airflow created
    airflow-init_1       | 2.10.5
    start_airflow-init_1 exited with code 0

     

    5. 서비스 실행

    docker compose up

     

    6. 웹서버 접속

    주소창에 http://localhost:8080를 입력하여 웹서버에 접속합니다.

    초기 설정된 로그인 정보는 다음과 같습니다.

    • Username: airflow
    • Password: airflow

    로그인 정보를 변경하고 싶으면 docker-compose.yaml 파일에서 

    AIRFLOW__WEBSERVER__RBAC=True 설정과 환경 변수를 설정하여 변경 가능합니다.

    로그인 화면
    Overview of all DAGs in my environment
    Grid representation of a DAG that spans across time

     

    Docker compose를 이용하여 환경세팅 성공~!