datax使用docker容器执行任务

datax使用docker容器执行任务

一、datax镜像

  1. 从Registry中拉取镜像(如果你不想创建镜像,可以使用现成的)
    如果你认为现成镜像不合适可以参考下面文档自行创建
    datax容器镜像制作
从公网拉取镜像(使用阿里云镜像仓库,镜像大小800MB)
docker pull registry.cn-qingdao.aliyuncs.com/liimage/datax

如果在经典内网 使用经典内网的链接拉取

  1. 设置镜像名称(从阿里云获取的镜像,名称会特别长,可以修改为短点的)
docker images
docker tag [ImageId] datax:latest
  1. datax容器测试
docker run -it --rm datax python /opt/local/datax/bin/datax.py /opt/local/datax/job/job.json 
二、执行语句
docker run -it --rm -v "$PWD":${jsonPath} -w /opt/local/datax/bin datax python \
datax.py -p \
"-Drdbuser=${rdbuser} -Drdbpwd=${rdbpwd} -Drdburl=${rdburl} -Dwdbuser=${wdbuser} -Dwdbpwd=${wdbpwd} -Dwdburl=${wdburl} -DstartDate=${startDate} -DendDate=${endDate} -Dts='${ts}' -DcheckDate=${checkDate} -DdateLength=${dateLength} -Dtable=${table}"  \
${jsonPath}/test.json
三、参数说明
docker命令
参数说明
-i以交互模式运行容器
-t为容器重新分配一个伪输入终端
–rm运行完成后自动删除容器
-v目录挂载 宿主机目录:容器目录
-w指定工作目录,可直接运行该目录下程序
datax使用datax镜像
其他命令
参数说明
$PWD指当前执行目录
${…}shell脚本内部参数
-pdatax参数用于指定输入参数列表
-Drdbuser=${rdbuser)具体参数,json使用名称:${rdbuser}
…/*.jsondatax执行的json文件

四、使用说明

  1. 将shell脚本和json放在宿主机同一目录中,通过crontab定时执行shell脚本,在脚本中负责进行参数的处理并执行容器命令。
  2. 使用定时任务部署时,需要去除docker 中的"-t"参数,否则会报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值