• 通过Dockerfile部署airflow容器


    部署airflow容器讲究轻量化

    分三个模块

    1、部署airflow

    2、安装rest-api插件

    3、设置airflow的时钟与系统时钟同步

    先拉取一个airflow的基础镜像

    rest-api插件的安装包下载到本地服务器,详情可以参考

    https://www.cnblogs.com/braveym/p/12069514.html

    airflow的系统时间与宿主机的同步具体需要修改的内容可以参考

    https://www.cnblogs.com/braveym/p/12664808.html

     其中Shanghai这个文件是宿主机的上海时区文件

    编辑Dockerfile文件

    FROM puckel/docker-airflow
    RUN nohup airflow webserver>>$AIRFLOW_HOME/airflow-webserver.log 2>&1 &
    RUN nohup airflow scheduler>>$AIRFLOW_HOME/airflow-scheduler.log 2>&1 &
    
    #配置rest-api插件
    RUN  pip install flask_jwt_extended -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    RUN cd /usr/local/airflow
    RUN mkdir -p  plugins/templates/rest_api_plugin
    COPY airflow-rest-api-plugin-1.0.3/plugins/rest_api_plugin.py /usr/local/airflow/plugins
    COPY airflow-rest-api-plugin-1.0.3/plugins/templates/rest_api_plugin/index.html /usr/local/airflow/plugins/templates/rest_api_plugin
    
    #配置AirFlow系统时钟与宿主机同步
    COPY  timezone.py /usr/local/lib/python3.7/site-packages/airflow/utils/
    COPY sqlalchemy.py /usr/local/lib/python3.7/site-packages/airflow/utils/
    copy master.html /usr/local/lib/python3.7/site-packages/airflow/www/templates/admin/
    RUN cd /etc
    #RUN mv localtime localtime_bak
    #RUN  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    COPY Shanghai /etc/localtime

    在Dockerfile文件的目录下执行,创建一个airflow的镜像

    sudo docker build -t="airflow" .
    

     

    启动一个airflow的容器

    docker run --net=bridge --name AirFlow1  -e MYSQL_IP_PORT="192.168.189.140:3306/airflow" -e MYSQL_USERNAME="root" -e MYSQL_PASSWORD="Admin123*" -v /usr/local/airflow/dags:/usr/local/airflow/dags -v /usr/local/airflow/airflowSql:/usr/local/airflow/airflowSql  -v /usr/local/airflow/airflow.cfg:/usr/local/airflow/airflow.cfg -id -p 8082:8080  --privileged=true   airflow

    打开浏览器

    由于我这里截图需要点时间,所以看到的是不同的时间,时间上是一样的

  • 相关阅读:
    深拷贝呀,浅拷贝,再来一次复习整理
    移动端适配之路的一步步了解
    回文数
    整数反转
    关于DOM事件篇收集的知识点
    Html5新增的属性-querySelector
    Java常用的集合类
    VerifyCodeServlet(一次性验证码)
    EncodingFilter
    BaseServlet(一个Servlet多个处理方法)
  • 原文地址:https://www.cnblogs.com/braveym/p/13503549.html
Copyright © 2020-2023  润新知