如何在Airflow上运行DockerOperator?

时间:2019-05-11 11:10:30

标签: docker airflow

我正在使用docker-compose和气流图像puckel / docker-airflow设置新的气流服务器。 BashOperatorsPythonOperator运作良好,但是当我尝试使用DockerOperator时,我得到 [/ usr / local / airflow / dags / XXXXXXX.py] < / strong>没有名为“ docker”的模块。

如何在我的docker内部使用docker时更改我的docker-compose文件?

我试图在Google上查找错误消息,但建议的解决方案均无效。

这是我正在使用的WebServer的docker-compose

webserver:
    image: puckel/docker-airflow:1.10.1
    build:
      context: https://github.com/puckel/docker-airflow.git#1.10.1
      dockerfile: Dockerfile
      args:
        AIRFLOW_DEPS: gcp_api,s3,docker        
    restart: always
    depends_on:
      - postgres
    environment:
      - LOAD_EX=n
      - EXECUTOR=Local
      - FERNET_KEY=jsDPRErfv8Z_eVTnGfF8ywd19j4pyqE3NpdUBA_oRTo=
    volumes:
      - ./LOCALPATHTODAGS/dags:/usr/local/airflow/dags
    ports:
      - "8080:8080"
    command: webserver

我的最终目标是能够从气流管道触发本地图像的docker容器。

1 个答案:

答案 0 :(得分:0)

您可以使用两种方法:

  1. before_script添加到当前当前的docker-compose:
webserver:
   (...)
   before_script:
   - pip install docker 
  1. 使用Dockerfile创建一个使用puckel的id并在其中安装所需的软件包。