perl環境參考http://www.confluence.oa.com/pages/viewpage.action?pageId=7077984html
Crontab參考http://linuxtools-rst.readthedocs.org/zh_CN/latest/tool/crontab.htmlpython
下載R語言linux
解壓Rdocker
tar -xf R-3.2.2.tar.gzubuntu
編寫Dockerfilebash
FROM ubuntu:14.04curl
RUN apt-get update -yui
RUN apt-get install -y perl build-essential gfortran python-pip wget
#移入R
ADD R-3.2.2 /home/R
#安裝apt-get repo
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:gluster/glusterfs-3.5
RUN apt-get update -y
RUN apt-get install -y libpng-dev libtiff-dev
RUN apt-get install -y libreadline-dev
RUN apt-get install -y libXt-dev
RUN export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
#編譯
RUN /home/R/configure --prefix $HOME
RUN make && make install
RUN pip install jieba
#安裝程序依賴
RUN apt-get install -y curl
RUN curl -L http://cpanmin.us | perl - --sudo App::cpanminus
RUN apt-get install -y libmysql++-dev
RUN cpanm DBI
RUN cpanm DBD::mysql
RUN cpanm Redis
RUN cpanm JSON::XS
RUN cpanm File::Lockfile
RUN cpanm Date::Calc::XS
RUN cpanm Encode::HanConvert
RUN cpanm Unicode::UTF8
RUN cpanm Statistics::R
#將代碼移入
ADD test.pl perl.pl
#增長人物計劃
ADD crontab /etc/cron.d/hello-cron
RUN chmod 0644 /etc/cron.d/hello-cron
RUN touch /var/log/cron.log
CMD cron tail -f /var/log/cron.log
編寫Cron腳本
*/1 * * * * root echo 「Hello Perl」 >> /var/log/cron.log 2>&1
*/1 * * * * root perl /perl.pl >> /var/log/cron.log 2>&1
編譯
sudo docker build -t lifeix:perl .
運行
docker run -it -d --name perl lifeix:perl
進入容器
docker exec -it perl bash
查看日誌
tail -f /var/log/cron.log