我正在设置一个新的气流服务器使用对接-合成和气流图像puckel/对接-气流。BashOperators和PythonOperator工作得很好,但是当我尝试使用DockerOperator时,我得到了名为“docker”的PythonOperator No模块。
如何更改我的码头组合文件,以便在我的码头内使用码头?
我试图在google上查找错误消息,但建议的解决方案都没有奏效。
下面是我正在使用的WebServer的停靠组合
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我的最终目标是能够从我的气流管道触发一个本地图像的码头容器。
发布于 2019-05-12 06:19:43
有两种方法可以使用:
before_script添加到当前的停靠库-组合:webserver:
(...)
before_script:
- pip install docker Dockerfile,并在其中安装所需的包。发布于 2020-01-20 16:39:36
‘'docker’实际上也是一个Python模块,可能是在DockerOperator的源代码中导入的。假设您从您的requirements.txt文件中安装了依赖项,您可以将docker==4.1.0添加到您的requirements.txt文件中,该文件应该与您的Dockerfile位于同一个目录中。
因此,在您的Dockerfile中,您需要:
COPY requirements.txt requirements.txt
USER root
RUN pip install -r requirements.txt在您的需求文件中,您需要:
docker==4.1.0 # Other versions probably also workhttps://stackoverflow.com/questions/56089750
复制相似问题