我正在使用docker-compose和气流图像puckel / docker-airflow设置新的气流服务器。
BashOperators
和PythonOperator
运作良好,但是当我尝试使用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容器。
答案 0 :(得分:0)
您可以使用两种方法:
before_script
添加到当前当前的docker-compose:webserver:
(...)
before_script:
- pip install docker
Dockerfile
创建一个使用puckel的id
并在其中安装所需的软件包。