• 构建dagu+replicadb镜像


    Dockerfile文件内容

    FROM openjdk:8-jre-alpine
    RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --no-cache tzdata bash && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && mkdir -p /opt/dagu/dags && echo '#!/bin/bash' > /usr/local/bin/rundagu && echo 'dagu scheduler 2> /opt/dagu/scheduler.log &' >> /usr/local/bin/rundagu && echo 'dagu server' >> /usr/local/bin/rundagu && chmod 755 /usr/local/bin/rundagu
    COPY dagu /usr/local/bin/
    COPY replicadb /opt/replicadb/
    ENV DAGU_HOME=/opt/dagu
    ENV DAGU_HOST=0.0.0.0
    ENV DAGU_PORT=8080
    ENV DAGU_DAGS=$DAGU_HOME/dags
    ENV DAGU_IS_BASICAUTH=1
    ENV DAGU_BASICAUTH_USERNAME="admin"
    ENV DAGU_BASICAUTH_PASSWORD="admin"
    ENV DAGU_LOG_DIR=$DAGU_HOME/logs
    ENV DAGU_DATA_DIR=$DAGU_HOME/data
    ENV DAGU_SUSPEND_FLAGS_DIR=$DAGU_HOME/suspend
    ENV DAGU_ADMIN_LOG_DIR=$DAGU_HOME/logs/admin
    ENV DAGU_BASE_CONFIG=$DAGU_HOME/config.yaml
    ENV DAGU_NAVBAR_COLOR="#a0aeba"
    ENV DAGU_NAVBAR_TITLE="Dagu"
    EXPOSE 8080
    ENTRYPOINT rundagu
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    构建

    docker build -t dagu-replicadb:v1.12.5 -f Dockerfile .
    
    • 1

    运行

    docker run -it --name dagu -p 8081:8080 --rm dagu-replicadb:v1.12.5
    
    • 1

    编写测试任务

    浏览器访问http://192.168.1.88:8081/
    在线编写yaml文件保存并运行(注意缩进)

    name: ETL-test1
    description: "测试ETL"
    schedule: "0 01 * * *"
    steps:
      - name: "测试replicadb1"
        command: "bash"
        script: |
          /opt/replicadb/bin/replicadb --mode=complete -j=1 \
          --source-connect=jdbc:oracle:thin:@192.168.1.66:1521/ORCLPDB1 \
          --source-user=TEST1 \
          --source-password='test1000' \
          --source-query="SELECT T.ID, T.RYZT, T.RYZTM, T.PX, T1.RYZT RYZT1 
                         FROM JZG_JCSJ_PX T                                  
                         LEFT JOIN JZG_JCSJ_PX T1 ON T.ID=T1.ID" \
          --sink-connect=jdbc:oracle:thin:@192.168.1.66:1521/ORCLPDB1 \
          --sink-user=TEST1 \
          --sink-password='test1000' \
          --sink-table=TEST_JZG_JCSJ_PX \
          --sink-columns=ID,RYZT,RYZTM,PX,RYZT1 \
          --verbose
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    Android Settings 单元测试 | Telephony Network 模块 APN 案例
    ESP8266--SDK开发(驱动WS2812B)
    zookeeper选举leader源码剖析
    Vhr项目技术学习知识点总结
    C++——vector模拟实现
    【node进阶】深入浅出---MVC设计模式&RESTful风格
    文件系统考古4:如何支持多个文件系统
    DataFrame持久存储
    【学习笔记】差分约束
    ChatGPT在电子健康记录和医疗信息查询中的应用前景如何?
  • 原文地址:https://blog.csdn.net/u012593882/article/details/134092858