如何使用 Docker 運行 Apache Airflow

Hsiao-Yu
FishTung
Published in
4 min readMay 2, 2024

Apache Airflow 是一個開源工具,用於排程和監控工作流,讓你可以編排複雜的任務和數據流程。使用 Docker 運行 Airflow 可以讓安裝和配置變得更簡單,確保環境的一致性。本文將指導你如何使用 Docker Compose 在本地機器上快速啟動 Airflow。

步驟 1: 安裝 Docker 和 Docker Compose

首先,你需要在你的機器上安裝 Docker 和 Docker Compose。Docker 允許你運行容器化應用,而 Docker Compose 則讓你可以使用 YAML 文件定義和運行多容器 Docker 應用程序。

  • 對於 Windows 和 Mac 用戶,你可以從 Docker 官網下載 Docker Desktop,它已經包含了 Docker Compose。
  • 對於 Linux 用戶,你需要單獨安裝 Docker 和 Docker Compose。你可以參考官方文檔來完成安裝。

步驟 2: 建立 Airflow 配置文件

你需要創建一個名為 docker-compose.yml 的文件來配置你的 Airflow 服務。以下是一個基本的配置例子:

version: '3'
services:
postgres:
image: postgres:13
environment:
POSTGRES_USER: airflow
POSTGRES_PASSWORD: airflow
POSTGRES_DB: airflow
ports:
- "5432:5432"
webserver:
image: apache/airflow:2.3.0
depends_on:
- postgres
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
ports:
- "8080:8080"
command: webserver
scheduler:
image: apache/airflow:2.3.0
depends_on:
- postgres
- webserver
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
command: scheduler

這個配置包括三個服務:postgres(資料庫),webserver(Airflow 網頁伺服器),和 scheduler(Airflow 調度器)。

步驟 3: 啟動 Airflow

一旦你有了 docker-compose.yml 文件,你可以使用以下命令來啟動你的 Airflow 服務:

docker-compose up -d

這個命令將會在後台啟動 Airflow 和其相關的服務。

步驟 4: 訪問 Airflow 網頁界面

Airflow 的網頁伺服器將在本地的 8080 端口運行。在瀏覽器中輸入 http://localhost:8080 就可以訪問 Airflow 的網頁界面。使用預設的帳號(通常為 airflow)和密碼(通常為 airflow)登錄。

步驟 5: 配置和運行 DAGs

現在你可以開始配置和運行 DAGs(Directed Acyclic Graphs)來定義你的工作流。你可以通過網頁界面添加、修改和監控你的 DAGs。

使用 Docker 運行 Airflow 提供了一個快速且簡單的方法來部署和管理你的工作流程。這種方法確保了環境的一致性,並且可以輕鬆地在不同環境中重複使用相同的配置。

--

--