一、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</