servlet-lib-native.dockerfile 1.4 KB

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