Dockerfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #Maintin by jimmy
  2. #Email: zhengge2012@gmail.com
  3. FROM anapsix/alpine-java:8_jdk
  4. WORKDIR /tmp
  5. RUN wget http://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
  6. RUN tar -zxvf apache-maven-3.6.1-bin.tar.gz && rm apache-maven-3.6.1-bin.tar.gz
  7. RUN mv apache-maven-3.6.1 /usr/lib/mvn
  8. RUN chown -R root:root /usr/lib/mvn
  9. RUN ln -s /usr/lib/mvn/bin/mvn /usr/bin/mvn
  10. RUN wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
  11. RUN tar -zxvf zookeeper-3.4.6.tar.gz
  12. RUN mv zookeeper-3.4.6 /opt/zookeeper
  13. RUN rm -rf zookeeper-3.4.6.tar.gz
  14. RUN echo "export ZOOKEEPER_HOME=/opt/zookeeper" >>/etc/profile
  15. RUN echo "export PATH=$PATH:$ZOOKEEPER_HOME/bin" >>/etc/profile
  16. ADD conf/zoo.cfg /opt/zookeeper/conf/zoo.cfg
  17. #RUN source /etc/profile
  18. #RUN zkServer.sh start
  19. RUN apk add --no-cache git npm nginx mariadb mariadb-client mariadb-server-utils pwgen
  20. WORKDIR /opt
  21. RUN git clone https://github.com/analysys/EasyScheduler.git
  22. WORKDIR /opt/EasyScheduler
  23. RUN mvn -U clean package assembly:assembly -Dmaven.test.skip=true
  24. RUN mv /opt/EasyScheduler/target/escheduler-1.0.0-SNAPSHOT /opt/easyscheduler
  25. WORKDIR /opt/EasyScheduler/escheduler-ui
  26. RUN npm install
  27. RUN npm audit fix
  28. RUN npm run build
  29. RUN mkdir -p /opt/escheduler/front/server
  30. RUN cp -rfv dist/* /opt/escheduler/front/server
  31. WORKDIR /
  32. RUN rm -rf /opt/EasyScheduler
  33. #configure mysql server https://github.com/yobasystems/alpine-mariadb/tree/master/alpine-mariadb-amd64
  34. ADD conf/run.sh /scripts/run.sh
  35. RUN mkdir /docker-entrypoint-initdb.d && \
  36. mkdir /scripts/pre-exec.d && \
  37. mkdir /scripts/pre-init.d && \
  38. chmod -R 755 /scripts
  39. RUN rm -rf /var/cache/apk/*
  40. EXPOSE 8888
  41. ENTRYPOINT ["/scripts/run.sh"]