、Dockerfile文件编写
(1)这是一个Dockerfile的例子,我在这里用的是ubuntu 16:
#基础镜像
FROM ubuntu:16.04
#安装必要的安装包,我这里用的是datax解压的版本,不需要maven,这里依赖环境python、jdk8、cron、rsyslog、tzdata
#cron这里是使用crontab,进行定时任务
RUN apt-get update && apt-get install -y python && apt-get install -y openjdk-8-jre && apt-get install -y cron && apt-get -y install rsyslog
RUN apt-get install -y tzdata
#设置时区,为上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata
#将准备好的文件复制到镜像中,并作为工作空间
COPY . /app
WORKDIR /app
ONBUILD ADD . /app
#运行定时任务
RUN crontab /app/crontabfile
RUN cp /app/crontabfile /etc/crontab
RUN touch /var/log/cron.log
RUN chmod +x /app/run.sh
WORKDIR /app
CMD ["bash","/app/run.sh"]
(2)crontabfile文件:
#每五分钟进行一次数据同步,并且将日志到log文件
*/5 * * * * bash /app/syntask227.sh cron >> /var/log/cron.log 2>&1
*/5 * * * * bash /app/syntask147.sh cron >> /var/log/cron1.log 2>&1
*/5 * * * * bash /app/syntask149.sh cron >> /var/log/cron2.log 2>&1
(3)run.sh
datax定时同步在doker中自动化部署
最新推荐文章于 2024-10-06 20:35:58 发布
本文介绍了如何在Docker环境下通过Dockerfile配置定时任务,使用cron和Dockerfile来实现DataX的定时数据同步。内容包括Dockerfile的编写,crontabfile设定,run.sh脚本的创建,以及一个DataX的JSON配置文件示例。最后,讲述了如何构建和运行Docker镜像以实现持续的数据同步。
摘要由CSDN通过智能技术生成