使用DockerOperator执行python和bash命令

时间:2018-09-22 16:18:23

标签: airflow

将多个命令(由bash和python组成)传递给DockerOperator中的command参数的语法 例如,如果我混合使用-> python test.py,mkdir -p / test之类的命令,将在Docker容器内执行

1 个答案:

答案 0 :(得分:0)

将多个命令传递给以command分隔的&&参数,如下所示:

command='(command1) && (command2) && (command3)'


因此完整的代码如下:

t_docker = DockerOperator(
  task_id='docker_command',
  image='bde2020/spark-master:latest',
  api_version='auto',
  auto_remove=True,
  command='(python a.py) && (echo "done") && (mkdir /mydirectory) && (echo "directory created"))',
  network_mode='bridge'
)