運行Perl程序

  1. perl環境參考http://www.confluence.oa.com/pages/viewpage.action?pageId=7077984html

  2. Crontab參考http://linuxtools-rst.readthedocs.org/zh_CN/latest/tool/crontab.htmlpython

  3. Docker 定時器參考http://xiaorui.cc/2015/08/14/docker%E4%B8%8B%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1crontab%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95python/?utm_source=tuicoolmysql

  4. 下載R語言linux

    1. wget http://cran.rstudio.com/src/base/R-3/R-3.2.2.tar.gzsql

  5. 解壓Rdocker

    1. tar -xf R-3.2.2.tar.gzubuntu


  6. 編寫Dockerfilebash

    1. 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

  7. 編寫Cron腳本

    1. */1 * * * * root echo 「Hello Perl」 >> /var/log/cron.log 2>&1

      */1 * * * * root perl /perl.pl >> /var/log/cron.log 2>&1

  8. 編譯

    1. sudo docker build -t lifeix:perl .

  9. 運行

    1. docker run -it -d --name perl lifeix:perl 

  10. 進入容器

    docker exec  -it  perl bash

    查看日誌

    tail -f /var/log/cron.log

相關文章
相關標籤/搜索