要在 Docker 中启动 Apache Airflow,你可以按照以下步骤操作。以下是基于 Airflow 官方推荐的 Docker Compose 方法的详细步骤:
1. 确保安装了 Docker 和 Docker Compose
确保你的系统已经安装了 Docker 和 Docker Compose。如果没有安装,可以参考以下命令:
-
安装 Docker:
bash curl -fsSL https://get.docker.com | sh
-
安装 Docker Compose:
bash sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
验证安装:
docker --version
docker-compose --version
2. 创建 Airflow 工作目录
创建一个目录来存放 Airflow 的配置文件和数据:
mkdir -p ~/airflow
cd ~/airflow
3. 下载 Airflow 的 Docker Compose 文件
从 Airflow 官方仓库下载 docker-compose.yaml
文件:
curl -LfO "https://airflow.apache.org/docs/apache-airflow/2.6.3/docker-compose.yaml"
注意:
2.6.3
是 Airflow 的版本号,你可以根据需要替换为最新版本。
4. 启动 Airflow
运行以下命令启动 Airflow:
docker-compose up
- 如果你想在后台运行,可以加上
-d
参数:bash docker-compose up -d
5. 访问 Airflow Web 界面
Airflow 的 Web 界面默认运行在 http://localhost:8080
。打开浏览器访问该地址。
默认的管理员用户名和密码是:
- 用户名:admin
- 密码:admin
6. 配置 Airflow
在首次启动时,Airflow 会根据 docker-compose.yaml
文件中的配置初始化环境。你可以通过修改 docker-compose.yaml
文件来自定义配置,例如:
- 修改 Airflow 的版本。
- 设置环境变量(如 AIRFLOW__CORE__EXECUTOR
)。
- 挂载本地目录到容器中。
7. 常见问题
端口冲突
如果端口 8080
被占用,可以修改 docker-compose.yaml
文件中的端口映射:
ports:
- "8081:8080"
然后重新启动:
docker-compose down
docker-compose up -d
权限问题
如果遇到权限问题(如无法写入 airflow.db
文件),可以更改目录权限:
chmod -R 777 ~/airflow
查看日志
如果启动失败,可以查看日志:
docker-compose logs
8. 停止和清理
停止 Airflow:
docker-compose down
清理所有数据:
docker-compose down -v
9. 进一步配置
-
设置管理员用户:在
docker-compose.yaml
中添加以下环境变量:yaml environment: _AIRFLOW_WWW_USER_CREATE: "true" _AIRFLOW_WWW_USER_USERNAME: "admin" _AIRFLOW_WWW_USER_PASSWORD: "your_password"
-
修改 Airflow 版本:在
docker-compose.yaml
中修改AIRFLOW_IMAGE_NAME
的版本:yaml AIRFLOW_IMAGE_NAME: "ghcr.io/apache/airflow:2.6.3"
-
启用 PostgreSQL:默认使用 SQLite,你可以修改
docker-compose.yaml
文件来使用 PostgreSQL 或 MySQL。
10. 参考文档
通过以上步骤,你应该能够成功启动 Airflow 并开始使用它!如果遇到问题,可以查看 Airflow 的官方文档或社区支持。