apache-airflow-providers-docker

变更日志

4.3.1

杂项

  • 使 '@task' airflow.sdk 导入 (#48896)

4.3.0

新特性

  • 使 docker swarm 服务 名称 可定制 (#47957)

4.2.1

杂项

  • flit 升级到 3.11.0 (#46938)

4.2.0

注意

此版本没有代码改动。由于之前版本存在打包问题而被撤回,因此重新发布此版本。

4.1.0

新特性

  • 新特性: 支持 docker operator 参数 'labels' (#46643)

错误修复

  • 修复 f-string ruff 静态检查 (#46813)

  • find 命令中 使用引号 引用文件路径 (#46795)

  • 更新 DockerSwarmOperator auto_remove 参数以与 DockerOperator 对齐 (#45745)

杂项

  • find 命令中 使用 env 引用文件路径 (#46809)

  • AIP-72: SDK 中支持更好的 Context 字典类型提示  (#45583)

  • Literal 别名移至 TYPE_CHECKING 块中 (#45345)

4.0.0

注意

此提供程序版本仅适用于 Airflow 2.9+,具体说明请参阅 Apache Airflow 提供程序支持政策

重大变更

警告

所有已弃用的类、参数和功能已从 Kubernetes 提供程序包中移除。以下是引入的重大变更:

  • 装饰器
    • 已移除弃用的参数 use_dill。请改用 serializer='dill'

  • Operator
    • 已移除弃用的参数 use_dill。请改用 serializer='dill'

    • 已移除弃用的参数 skip_exit_code。请改用 skip_on_exit_code

    • 已移除弃用的方法 get_hook()。请改用 hook 属性。

  • 移除 Docker 中的提供程序弃用项 (#44583)

杂项

  • 将提供程序中的最低 Airflow 版本提升至 Airflow 2.9.0 (#44956)

  • 修复 docker 文档中的 auth url (#44112)

  • 更新多个提供程序文档中的 DAG 示例链接 (#44034)

3.14.1

错误修复

  • 修复 Docker operator 日志中开头的空格 (#33692) (#43840)

杂项

  • python operator 移至 Standard 提供程序 (#42081)

3.14.0

新特性

  • DockerSwarmOperator 添加 logging device logging device options (#41416)

  • docker swarm operator 添加 retrieve output 功能 (#41531)

3.13.0

注意

此提供程序版本仅适用于 Airflow 2.8+,具体说明请参阅 Apache Airflow 提供程序支持政策

杂项

  • 新特性(docker): 'use_dill' 替换为 'serializer' (#41356)

  • 将提供程序中的最低 Airflow 版本提升至 Airflow 2.8.0 (#41396)

3.12.3

错误修复

  • DockerSwarmOperator: 支持服务日志中的换行符 (#40705)

3.12.2

错误修复

  • DockerOperator TaskFlow - 修正 python 命令中的参数拼写 (#39620)

杂项

  • 改进 DockerOperator 的日志记录行为 (#40489)

3.12.1

杂项

  • 将最低 docker 版本提升至 7.1.0 (#39839)

3.12.0

新特性

  • docker service ContainerSpec 添加 args (#39464)

  • DockerSwarmOperator 添加定义 Resources 的支持 (#39027)

杂项

  • 加快 'airflow_version' 导入速度 (#39552)

  • 简化 'airflow_version' 导入 (#39497)

  • 限制 botocore 升级测试中的 requests (#39747)

  • 由于与 docker-py 不兼容,锁定 requests 版本 (#39740)

3.11.0

注意

此提供程序版本仅适用于 Airflow 2.7+,具体说明请参阅 Apache Airflow 提供程序支持政策

杂项

  • 将提供程序中的最低 Airflow 版本提升至 Airflow 2.7.0 (#39240)

3.10.0

注意

当设置了标准的 DOCKER_HOST 环境变量时,它现在会覆盖 docker_url 参数的默认值。如果设置了 DOCKER_HOST 但您想使用之前的默认值,则必须在 DockerOperator 构造函数或 @task.docker 装饰器中显式设置 docker_url="unix://var/run/docker.sock"

新特性

  • 改进 'DockerOperator' 以支持多个 Docker 主机 (#38466)

错误修复

  • 修复 'MappedOperator' 中弃用的 'DockerOperator' operator 参数 (#38379)

杂项

  • 移除 importlib_metadata 中冗余的兼容性用法 (#38368)

  • DockerOperator: 使用 DOCKER_HOST 作为 docker_url 的默认值 (#38387)

3.9.2

错误修复

  • 修复 'docker>=7' 'docker.TLSConfig' 构造问题 (#37481)

3.9.1

错误修复

  • 允许 DockerOperator.skip_on_exit_code 为零 (#36360)

杂项

  • 移除 Docker Provider 中剩余的 Airflow 2.5 向后兼容代码 (#36325)

3.9.0

注意

此提供程序版本仅适用于 Airflow 2.6+,具体说明请参阅 Apache Airflow 提供程序支持政策

错误修复

  • 修复 'enable_logging=True' 'DockerSwarmOperator' 中不工作的问题 (#35677)

  • 修复由 #35677 导致的日志流损坏问题 (#36127)

杂项

  • 将提供程序中的最低 Airflow 版本提升至 Airflow 2.6.0 (#36017)

  • 在子类中遵循 BaseHook connection fields 方法签名 (#36086)

3.8.2

杂项

  • 重构 docker operator 属性验证和文档 (#35571)

3.8.1

错误修复

  • 修复 '_DockerDecoratedOperator' 模块类型属性 pickle 错误 (#35293)

3.8.0

注意

此提供程序版本仅适用于 Airflow 2.5+,具体说明请参阅 Apache Airflow 提供程序支持政策

新特性

  • DockerOperator 添加 ulimits 参数 (#34284)

杂项

  • 提升提供程序的最低 airflow 版本 (#34728)

  • DockerOperator 中弃用 get_hook 方法 (#34432)

3.7.5

杂项

  • 清理 Docker operator 的日志记录 (#33914)

  • Airflow 提供程序中用解包替换序列连接 (#33933)

  • 在提供程序中使用字面量字典代替调用 dict() (#33761)

  • DockerOperator 中用 isinstance 替换 type func (#33759)

3.7.4

杂项

  • 重构: 改进重复项检测和列表排序 (#33675)

  • 简化其他提供程序中 len() 的条件 (#33569)

  • 用适当的格式化替换 repr() (#33520)

3.7.3

杂项

  • 重构: 简化 providers/docker 中的代码 (#33232)

3.7.2

杂项

  • 移除 Python2 中的数字遗留代码 (#33050)

3.7.1

注意

此版本放弃了对 Python 3.7 的支持

杂项

  • 移除对 Python 3.7 的支持 (#30963)

3.7.0

注意

此提供程序版本仅适用于 Airflow 2.4+,具体说明请参阅 Apache Airflow 提供程序支持政策

杂项

  • 提升提供程序中的最低 Airflow 版本 (#30917)

3.6.0

新特性

  • 'DockerOperator' 'KubernetesPodOperator' 的跳过逻辑中添加多种退出代码处理 (#30769)

  • 'DockerOperator' 中,添加属性 'tls_verify' 以选择是否验证证书 (#30309) (#30310)

杂项

  • 'DockerOperator' 'KubernetesPodOperator' 中弃用 'skip_exit_code' (#30733)

3.5.1

错误修复

  • 修复装饰器 'task.docker' 中的 template_fields (#29586)

3.5.0

新特性

  • Docker Hook 中添加正确的 widgets (#28700)

  • 使 docker operators 始终使用 'DockerHook' 进行 API 调用 (#28363)

  • DockerOperator task 返回指定的退出代码时跳过该任务 (#28996)

错误修复

  • 修复 Docker 连接中 'reauth' 字段的标签名称 (#28974)

3.4.0

新特性

  • DockerOperator 添加 hostname 参数 (#27822)

  • Docker Provider 的最低 airflow 版本降至 2.3.0 (#28648)

3.3.0

注意

此提供程序版本仅适用于 Airflow 2.3+,具体说明请参阅 Apache Airflow 提供程序支持政策

杂项

  • 将所有提供程序的最低 airflow 版本移至 2.3.0 (#27196)

新特性

  • DockerOperator 添加 ipc_mode (#27553)

  • Docker Operator 添加 env-file 参数 (#26951)

3.2.0

新特性

  • docker operator 添加日志记录选项 (#26653)

  • custom_operator_name 添加 pre-commit 钩子 (#25786)

  • 实现 ExternalPythonOperator (#25780)

错误修复

3.1.0

新特性

  • DockerOperator 执行后强制移除容器 (#23160)

错误修复

  • 'DockerOperator' 修复 cli.logs 返回字符数组而不是字符串的问题 (#24726)

3.0.0

重大变更

注意

此提供程序版本仅适用于 Airflow 2.2+,具体说明请参阅 Apache Airflow 提供程序支持政策

杂项

  • 'DockerOperator' 中移除 'xcom_push' (#23981)

  • docker 新系统测试 (#23167)

2.7.0

新特性

  • 'DockerOperator' 添加 'device_requests' 参数 (#23554)

错误修复

  • 修复 main 中的新的 MyPy 错误 (#22884)

2.6.0

新特性

  • 'DockerOperator' 添加 timeout 参数 (#22502)

2.5.2

错误修复

  • 修复错误地为所有提供程序添加 install_requires 的问题 (#22382)

杂项

  • 修正 'multiple_outputs' 参数描述中提到列表/元组的部分 (#22371)

2.5.1

错误修复

  • 避免在 Docker 容器未成功时尝试杀死容器 (#22145)

杂项

  • PyPI 中添加 Trove 分类器 (Framework :: Apache Airflow :: Provider)

2.5.0

新特性

  • 添加了 docker network_mode 选项 (#21986)

杂项

  • 支持 Python 3.10

2.4.1

错误修复

  • 修复 Docker xcom 功能问题 (#21175)

  • 修复 docker 返回字节行时的行为问题 (#21429)

2.4.0

新特性

  • 允许 DockerOperator image 参数支持模板 (#19997)

2.3.0

新特性

  • DockerSwarmOperator 添加 placement 支持 (#18990)

错误修复

  • 修正字符串连接问题 (#19099)

  • 移除 docker timeout 变通方案 (#18872)

其他

  • docker 装饰器示例 dag 移至 docker 提供程序 (#18739)

2.2.0

新特性

  • 添加一个 Docker Taskflow 装饰器 (#15330)

此版本的 Docker 提供程序包含一个新特性 - TaskFlow 装饰器,该特性仅适用于 Airflow 2.2。如果您在低于 Airflow 2.2 的版本中尝试使用该装饰器,将会出错。

AttributeError: '_TaskDecorator' object has no attribute 'docker'

2.1.1

新特性

  • DockerSwarmOperator 添加 configs, secrets, networks replicas 支持 (#17474)

杂项

  • 优化 Airflow 2.2.0 连接 导入

2.1.0

新特性

  • DockerOperator 添加 禁用 临时 文件夹 挂载 选项 (#16932)

Bug 修复

  • [FIX] Docker provider - 重试 docker in docker (#17061)

  • 修复 使用 xcom / json 时的 字符串 编码 (#13536)

  • 如果 xcom_all 设置为 False,则只有日志的最后一行(由 \n 分隔)将包含在 XCom 值中

版本 2.0.0 中的 DockerOperator 对远程 Docker Engine 或 Docker-In-Docker 情况无效。这是 #15843 的意外副作用,已在 #16932 中修复。存在一个回退模式,该模式将使 Docker Operator 在有警告的情况下工作,并且您可以使用新参数禁用文件夹挂载来消除警告。

2.0.0

破坏性变更

  • 自动应用 apply_default decorator (#15667)

警告

由于 apply_default decorator 已被移除,此版本的 provider 需要 Airflow 2.1.0+。如果您的 Airflow 版本 < 2.1.0,并且您想安装此 provider 版本,请先将 Airflow 升级到至少 2.1.0 版本。否则,您的 Airflow 包版本将自动升级,并且您将不得不手动运行 airflow upgrade db 来完成迁移。

  • DockerOperator 'volumes' 参数替换为 'mounts' (#15843)

airflow.providers.docker.operators.docker.DockerOperatorairflow.providers.docker.operators.docker_swarm.DockerSwarmOperator 中的 volumes 参数已被 mounts 参数替换,后者使用较新的 mount syntax 而不是 --bind

1.2.0

新特性

  • docker operator 支持 Entrypoint (#14642)

  • PythonVirtualenvDecorator 添加到 Taskflow API (#14761)

  • Docker Swarm Operator 支持所有 terminus 任务 状态 (#14960)

1.1.0

新特性

  • DockerOperator 添加 privileged 选项 (#14157)

1.0.2

Bug 修复

  • 发布 provider RCs 文档 工具 进行更正 (#14082)

1.0.1

更新了文档和 readme 文件。

Bug 修复

  • 使用 auto_remove=True 移除失败的 DockerOperator 任务 (#13532) (#13993)

  • 修复 auto_remove True DockerSwarmOperator 上的错误 (#13532) (#13852)

1.0.0

Provider 的初始版本。

此条目是否有用?