docker-compose로 airflow 설치하기

docker-compose로 airflow 설치하기

DevOps
docker-compose로 airflow 설치하기
Author

gabriel yang

Published

November 18, 2023

docker-compose로 airflow 설치하기

airflow 공식홈페이지에서는 airflow 설치를 위한 다양한 방법을 제공합니다.

Production 도커 이미지를 사용하는 방법은 Container/Docker 스택에 익숙할 때 유용합니다. 종속성을 쉽게 유지 관리하여 동일한 물리적 또는 가상 머신에서 실행되는 다른 소프트웨어와 별도로 Airflow 구성 요소를 실행하는 기능을 제공합니다.

이 설치 방법은 Container/Docker 스택에 익숙할 뿐만 아니라 Kubernetes를 사용하고 Helm 차트를 통해 커뮤니티 관리 Kubernetes 설치 메커니즘을 사용하여 Airflow를 설치 및 유지 관리하려는 경우에 유용합니다.

설치를 위해서 - Docker Compose v1.29.1 또는 최신버전을 설치해야합니다.

docker-compose yaml 다운로드

Airflow docker compose를 사용하기 위해서 yaml파일을 다운로드 합니다.

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.7.3/docker-compose.yaml'

이 파일에는 아래의 서비스를 포함합니다.

  • airflow-scheduler - 스케줄러는 모든 작업과 DAG를 모니터링하고 실행합니다.
  • airflow-webserver - http://localhost:8080 에서 실행되는 웹서버
  • airflow-worker - 스케쥴러가 제공하는 작업을 실행합니다.
  • airflow-triggerer - 지연될 수 있는 작업에 대한 이벤트 루프를 생성합니다.
  • airflow-init - 서비스를 초기화 합니다.
  • postgres - 데이터베이스
  • redis - The redis - 스케줄러에서 작업자에게 메세지를 전달하는 브로커입니다.

airflow를 설치할 위치에서 도커 이미지의 airflow 폴더와 싱크되는 폴더를 생성합니다.

mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)"  . env

airflow에서 사용하는 환경변수에서 세부내용을 확인할 수 있습니다.

데이터 베이스 초기화

데이터베이스 마이그레이션을 실행하고 첫 번째 사용자 계정을 생성해야 합니다. 아래의 airflow-init을 수행합니다. 초기 설정되는 ID와 PW는 모두 airflow로 설정됩니다.

docker compose up airflow-init

도커 실행

도커 서비스를 실행합니다.

docker compose up

docker compose에서 사용되는 명령어를 함께 정리합니다. 백그라운드에서 airflow를 동작하는 경우 docker compose up -d를 사용합니다.

명령어 의미
docker compose build <service> docker-compose.yaml 파일의 build로 표현된 서비스를 빌드합니다.
docker compose up docker-compose.yml 파일을 기반으로 서비스를 시작합니다.
docker compose up -d 백그라운드에서 서비스를 시작합니다.
docker compose down 서비스를 중지하고 관련된 리소스(컨테이너, 네트워크, 볼륨 등)를 제거합니다.
docker-compose logs [service] 지정된 서비스의 로그를 표시합니다. 서비스를 지정하지 않으면 모든 서비스의 로그를 표시합니다.
docker-compose start 중지된 서비스를 시작합니다.
docker-compose stop 지정된 서비스를 중지합니다.
docker-compose restart 지정된 서비스를 재시작합니다.

References

  1. https://airflow.apache.org/docs/apache-airflow/stable/start.html
  2. https://airflow.apache.org/docs/apache-airflow/stable/installation/index.html
Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Mar 20, 2025 우분투(Ubuntu)에서 ngrok 설치 및 사용 방법 gabriel yang
Feb 4, 2025 Windows 11에서 WSL 설치 및 Docker 연결하기 gabriel yang
Oct 7, 2024 Docker Compose로 Jenkins 설치 및 사용하기 gabriel yang
Aug 23, 2024 우분투(Ubuntu)에서 특정 폴더를 아파치 서버로 설정하기 gabriel yang
Jul 24, 2024 GitHub Actions 시작하기 gabriel yang
Dec 31, 2023 우분투와 윈도우 파일 공유하기 (samba) gabriel yang
Dec 5, 2023 crontab을 이용해서 Let’s Encrypt SSL 인증서 자동갱신 gabriel yang
Nov 27, 2023 우분투 docker, docker-compse 설치 gabriel yang
Nov 26, 2023 AWS 호스팅 EC2 와 Lightsail의 차이 gabriel yang
Nov 20, 2023 wsl 이미지 저장 위치 변경 및 백업 gabriel yang
Nov 20, 2023 airflow postgresoperator 사용하기 gabriel yang
Nov 15, 2023 wsl2에 docker 설치하기 gabriel yang
Nov 15, 2023 mkfifo를 이용한 IPC gabriel yang
Oct 9, 2023 Github Pull Request 템플릿 적용하기 gabriel yang
No matching items
Back to BLOG LIST