如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像包含Apache Airflow的Dockerfile,用于Docker的自动化构建并发布到公共Docker Hub Registry。Apache Airflow是一个开源的工作流调度系统,可用于编排和监控复杂的计算工作流。
python:3.6-slim构建从Docker仓库拉取镜像:
bashdocker pull puckel/docker-airflow
可选择在构建时安装额外的Airflow包和/或Python依赖:
bash# 仅安装Airflow额外包 docker build --rm --build-arg AIRFLOW_DEPS="datadog,dask" -t puckel/docker-airflow . # 仅安装Python依赖 docker build --rm --build-arg PYTHON_DEPS="flask_oauthlib>=0.9" -t puckel/docker-airflow . # 同时安装两者 docker build --rm --build-arg AIRFLOW_DEPS="datadog,dask" --build-arg PYTHON_DEPS="flask_oauthlib>=0.9" -t puckel/docker-airflow .
构建后需更新docker-compose文件中的镜像为puckel/docker-airflow:latest。
默认情况下,docker-airflow使用SequentialExecutor运行Airflow:
bashdocker run -d -p 8080:8080 puckel/docker-airflow webserver
如需使用其他执行器,可使用仓库中提供的docker-compose文件:
LocalExecutor:
bashdocker-compose -f docker-compose-LocalExecutor.yml up -d
CeleryExecutor:
bashdocker-compose -f docker-compose-CeleryExecutor.yml up -d
默认不加载示例DAGs,如需加载,需设置环境变量LOAD_EX=y:
bashdocker run -d -p 8080:8080 -e LOAD_EX=y puckel/docker-airflow
如需使用即席查询(Ad hoc query),需配置连接:
在Local或Celery Executor中使用加密连接密码时,需确保所有容器使用相同的fernet_key。默认情况下,docker-airflow在启动时生成fernet_key,可通过以下命令生成自定义fernet_key:
bashdocker run puckel/docker-airflow python -c "from cryptography.fernet import Fernet; FERNET_KEY = Fernet.generate_key().decode(); print(FERNET_KEY)"
生成后,在docker-compose文件中设置该环境变量以确保所有容器使用相同的key。
可通过环境变量设置Airflow的任何配置值,环境变量将覆盖airflow.cfg中的值。
环境变量命名规则为AIRFLOW__<section>__<key>,例如:
AIRFLOW__CORE__SQL_ALCHEMY_CONN 设置[core]部分的sql_alchemy_conn配置项详细配置说明参见Airflow文档
可通过环境变量定义连接,前缀为AIRFLOW_CONN_,例如:
AIRFLOW_CONN_POSTGRES_MASTER=postgres://user:password@localhost:5432/master
此环境变量定义了名为"postgres_master"的连接,值解析为URI格式。
Airflow支持自定义插件,通常存放在${AIRFLOW_HOME}/plugins文件夹中。插件文档参见此处
要将自定义插件集成到容器中:
plugins/文件夹并添加自定义插件-v $(pwd)/plugins/:/usr/local/airflow/pluginsdocker-compose-LocalExecutor.yml或docker-compose-CeleryExecutor.yml,这些文件已支持插件文件夹挂载requirements.txt文件,列出所需的Python模块-v $(pwd)/requirements.txt:/requirements.txt(或在docker-compose文件中添加卷配置)pip install命令(带--user选项)使用docker-compose轻松扩展:
bashdocker-compose -f docker-compose-CeleryExecutor.yml scale worker=5
此方法可用于在Docker Swarm中实现多节点扩展。
如需运行其他Airflow子命令(如list_dags或clear),可按以下方式执行:
bash# 直接运行 docker run --rm -ti puckel/docker-airflow airflow list_dags # 使用docker-compose docker-compose -f docker-compose-CeleryExecutor.yml run --rm webserver airflow list_dags
也可使用此方式运行 bash shell 或其他命令:
bashdocker run --rm -ti puckel/docker-airflow bash docker run --rm -ti puckel/docker-airflow ipython
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务