我们可以使用DockerOperator操作符和volume参数来为容器添加卷。在代码示例中,我们为容器添加了一个主机卷和一个临时卷:
from airflow.operators.docker_operator import DockerOperator
with DAG('docker_volume_test', default_args=default_args, schedule_interval=None) as dag:
t1 = DockerOperator(
task_id='docker_command',
image='ubuntu:latest',
api_version='auto',
auto_remove=True,
command='/bin/sleep 30',
volumes=['/path/to/local/volume:/path/to/container/volume', '/tmp:/tmp'],
docker_url='tcp://docker:2375',
network_mode='bridge',
dag=dag
)
在这个示例中,我们将本地主机上的/path/to/local/volume
卷挂载到容器中的/path/to/container/volume
位置,同时将临时目录/tmp
挂载到容器的/tmp
位置。
我们可以根据需求添加更多卷,只需要在volumes参数中传递更多的/host/path:/container/path
格式的字符串即可。