gemini-postgres.dockerfile 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. FROM maven:3.6.1-jdk-11-slim as maven
  2. WORKDIR /gemini
  3. COPY servlet/src src
  4. COPY servlet/pom.xml pom.xml
  5. RUN mvn -q compile
  6. RUN mv src/main/webapp/WEB-INF/configuration/gemini-postgres.conf src/main/webapp/WEB-INF/configuration/Base.conf
  7. RUN mvn -q war:war
  8. FROM openjdk:11.0.7-slim
  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 DEBIAN_FRONTEND=noninteractive apt-get update -yqq &> /dev/null; \
  15. DEBIAN_FRONTEND=noninteractive apt-get install -yqq --no-install-recommends \
  16. autoconf \
  17. automake \
  18. build-essential \
  19. bzip2 \
  20. dpkg-dev \
  21. file \
  22. g++ \
  23. gcc \
  24. gcc-multilib \
  25. imagemagick \
  26. libbz2-dev \
  27. libc6-dev \
  28. libcurl4-openssl-dev \
  29. libdb-dev \
  30. libevent-dev \
  31. libffi-dev \
  32. libgdbm-dev \
  33. libgeoip-dev \
  34. libglib2.0-dev \
  35. libgmp-dev \
  36. libjpeg-dev \
  37. libkrb5-dev \
  38. liblzma-dev \
  39. libmagickcore-dev \
  40. libmagickwand-dev \
  41. libncurses5-dev \
  42. libncursesw5-dev \
  43. libpng-dev \
  44. libpq-dev \
  45. libreadline-dev \
  46. libsqlite3-dev \
  47. libssl-dev \
  48. libtool \
  49. libwebp-dev \
  50. libxml2-dev \
  51. libxslt-dev \
  52. libyaml-dev \
  53. linux-libc-dev \
  54. linux-headers-amd64 \
  55. make \
  56. patch \
  57. unzip \
  58. xz-utils \
  59. zlib1g-dev > /dev/null
  60. RUN ./configure --prefix=`pwd` --enable-64bit -q &> /dev/null
  61. RUN make -s &> /dev/null
  62. RUN make install -s &> /dev/null
  63. RUN rm -rf webapps/*
  64. RUN mkdir logs
  65. COPY --from=maven /gemini/target/HelloWorld-0.0.1.war webapps/ROOT.war
  66. EXPOSE 8080
  67. CMD ["java", "-jar", "lib/resin.jar", "console"]