Dockerfile 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. FROM centos:centos6.7
  2. MAINTAINER agapple (jianghang115@gmail.com)
  3. # install system
  4. RUN \
  5. /bin/cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
  6. echo 'root:Hello1234' | chpasswd && \
  7. groupadd -r admin && useradd -g admin admin && \
  8. yum install -y man && \
  9. yum install -y dstat && \
  10. yum install -y unzip && \
  11. yum install -y nc && \
  12. yum install -y openssh-server && \
  13. yum install -y tar && \
  14. yum install -y which && \
  15. yum install -y wget && \
  16. yum install -y perl && \
  17. yum install -y file && \
  18. ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key && \
  19. ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key && \
  20. sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd && \
  21. sed -i -e 's/^#Port 22$/Port 2222/' /etc/ssh/sshd_config && \
  22. mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh && \
  23. yum install -y cronie && \
  24. sed -i '/session required pam_loginuid.so/d' /etc/pam.d/crond && \
  25. yum clean all && \
  26. true
  27. # install canal
  28. COPY image/ /tmp/docker/
  29. COPY canal.deployer-*.tar.gz /home/admin/
  30. COPY jdk-8-linux-x64.rpm /tmp/
  31. RUN \
  32. cp -R /tmp/docker/alidata /alidata && \
  33. chmod +x /alidata/bin/* && \
  34. mkdir -p /home/admin && \
  35. cp -R /tmp/docker/admin/* /home/admin/ && \
  36. /bin/cp -f alidata/bin/lark-wait /usr/bin/lark-wait && \
  37. touch /var/lib/rpm/* && \
  38. yum -y install /tmp/jdk-8-linux-x64.rpm && \
  39. /bin/rm -f /tmp/jdk-8-linux-x64.rpm && \
  40. echo "export JAVA_HOME=/usr/java/latest" >> /etc/profile && \
  41. echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile && \
  42. /bin/mv /home/admin/bin/clean_log /etc/cron.d && \
  43. mkdir -p /home/admin/canal-server && \
  44. tar -xzvf /home/admin/canal.deployer-*.tar.gz -C /home/admin/canal-server && \
  45. /bin/rm -f /home/admin/canal.deployer-*.tar.gz && \
  46. mkdir -p home/admin/canal-server/logs && \
  47. chmod +x /home/admin/*.sh && \
  48. chmod +x /home/admin/bin/*.sh && \
  49. chown admin: -R /home/admin && \
  50. yum clean all && \
  51. true
  52. # 2222 sys , 8080 web , 8000 debug , 11111 canal
  53. EXPOSE 2222 11111 8000 8080
  54. WORKDIR /home/admin
  55. ENTRYPOINT [ "/alidata/bin/main.sh" ]
  56. CMD [ "/home/admin/app.sh" ]