首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在气流上运行DockerOperator?

如何在气流上运行DockerOperator?
EN

Stack Overflow用户
提问于 2019-05-11 11:10:29
回答 2查看 2.2K关注 0票数 2

我正在设置一个新的气流服务器使用对接-合成和气流图像puckel/对接-气流。BashOperatorsPythonOperator工作得很好,但是当我尝试使用DockerOperator时,我得到了名为“docker”的PythonOperator No模块。

如何更改我的码头组合文件,以便在我的码头内使用码头?

我试图在google上查找错误消息,但建议的解决方案都没有奏效。

下面是我正在使用的WebServer的停靠组合

代码语言:javascript
复制
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

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

EN

回答 2

Stack Overflow用户

发布于 2019-05-12 06:19:43

有两种方法可以使用:

  1. before_script添加到当前的停靠库-组合:
代码语言:javascript
复制
webserver:
   (...)
   before_script:
   - pip install docker 
  1. 创建一个使用puckel的Dockerfile,并在其中安装所需的包。
票数 1
EN

Stack Overflow用户

发布于 2020-01-20 16:39:36

‘'docker’实际上也是一个Python模块,可能是在DockerOperator的源代码中导入的。假设您从您的requirements.txt文件中安装了依赖项,您可以将docker==4.1.0添加到您的requirements.txt文件中,该文件应该与您的Dockerfile位于同一个目录中。

因此,在您的Dockerfile中,您需要:

代码语言:javascript
复制
COPY requirements.txt requirements.txt
USER root
RUN pip install -r requirements.txt

在您的需求文件中,您需要:

代码语言:javascript
复制
docker==4.1.0  # Other versions probably also work
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56089750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档