使用DockerOperator和volumes参数来定义卷和挂载
Airflow中的DockerOperator允许用户运行Docker容器作为任务。通过使用volumes和mounts参数,用户可以在容器运行时访问主机上的文件或目录。以下是一个示例:
from airflow.providers.docker.operators.docker import DockerOperator
with DAG('my_dag', ...) as dag:
task = DockerOperator(
task_id='my_task',
image='my_image:latest',
volumes=['/path/on/host:/path/in/container'],
command='python my_script.py'
)
在上面的代码中,volumes
参数定义了一个挂载点将主机上的/path/on/host
目录挂载到容器内部的/path/in/container
目录。可以使用mounts
参数来以类似的方式定义其他挂载点。
注意,在使用DockerOperator时需要确保容器中的依赖项与主机上的依赖项相同,以确保任务成功运行。