gemini.dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. FROM maven:3.6.1-jdk-11-slim as maven
  2. WORKDIR /gemini
  3. COPY src src
  4. COPY pom.xml pom.xml
  5. RUN mvn -q compile
  6. RUN mv src/main/webapp/WEB-INF/configuration/gemini.conf src/main/webapp/WEB-INF/configuration/Base.conf
  7. RUN mvn -q war:war
  8. FROM openjdk:11-jdk
  9. RUN apt update -qqy && apt install -yqq curl > /dev/null
  10. WORKDIR /resin
  11. RUN curl -sL http://caucho.com/download/resin-4.0.63.tar.gz | tar xz --strip-components=1
  12. # Taken from buildpack-deps:stretch - Resin compilation requires JAVA_HOME
  13. # also added several missing dependencies
  14. RUN set -ex; \
  15. apt-get update; \
  16. apt-get install -y --no-install-recommends \
  17. autoconf \
  18. automake \
  19. build-essential \
  20. bzip2 \
  21. dpkg-dev \
  22. file \
  23. g++ \
  24. gcc \
  25. gcc-multilib \
  26. imagemagick \
  27. libbz2-dev \
  28. libc6-dev \
  29. libcurl4-openssl-dev \
  30. libdb-dev \
  31. libevent-dev \
  32. libffi-dev \
  33. libgdbm-dev \
  34. libgeoip-dev \
  35. libglib2.0-dev \
  36. libgmp-dev \
  37. libjpeg-dev \
  38. libkrb5-dev \
  39. liblzma-dev \
  40. libmagickcore-dev \
  41. libmagickwand-dev \
  42. libncurses5-dev \
  43. libncursesw5-dev \
  44. libpng-dev \
  45. libpq-dev \
  46. libreadline-dev \
  47. libsqlite3-dev \
  48. libssl-dev \
  49. libtool \
  50. libwebp-dev \
  51. libxml2-dev \
  52. libxslt-dev \
  53. libyaml-dev \
  54. linux-libc-dev \
  55. linux-headers-amd64 \
  56. make \
  57. patch \
  58. unzip \
  59. xz-utils \
  60. zlib1g-dev
  61. RUN ./configure --prefix=`pwd` --enable-64bit
  62. RUN make
  63. RUN make install
  64. RUN rm -rf webapps/*
  65. RUN mkdir logs
  66. COPY --from=maven /gemini/target/HelloWorld-0.0.1.war webapps/ROOT.war
  67. EXPOSE 8080
  68. CMD ["java", "-jar", "lib/resin.jar", "console"]