cppcms.dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. FROM buildpack-deps:xenial
  2. RUN apt-get update -yqq && apt-get install -yqq software-properties-common unzip cmake
  3. RUN apt-get install -yqq libgcrypt11-dev python nginx
  4. WORKDIR /installs
  5. ENV CPPCMS_VERSION=1.1.1
  6. ENV BACKNAME=cppcms
  7. ENV CPPCMS_HOME=/installs/$BACKNAME-$CPPCMS_VERSION
  8. ENV CPPCMSROOT=${CPPCMS_HOME}-install
  9. RUN wget -q https://download.sourceforge.net/project/cppcms/$BACKNAME/$CPPCMS_VERSION-rc1/$BACKNAME-$CPPCMS_VERSION.tar.bz2
  10. RUN tar xf $BACKNAME-$CPPCMS_VERSION.tar.bz2
  11. RUN cd $BACKNAME-$CPPCMS_VERSION && \
  12. mkdir build && \
  13. cd build && \
  14. cmake -DCMAKE_INSTALL_PREFIX=${CPPCMSROOT} .. && \
  15. make && make install
  16. ENV CPPCMS_HOME=${CPPCMSROOT}
  17. ENV CPPDB_VERSION=0.3.1
  18. ENV BACKNAME=cppdb
  19. ENV CPPDB_HOME=/installs/$BACKNAME-$CPPDB_VERSION
  20. ENV CPPDBROOT=${CPPDB_HOME}-install
  21. RUN wget -q https://download.sourceforge.net/project/cppcms/$BACKNAME/$CPPDB_VERSION/$BACKNAME-$CPPDB_VERSION.tar.bz2
  22. RUN tar xf $BACKNAME-$CPPDB_VERSION.tar.bz2
  23. RUN cd $BACKNAME-$CPPDB_VERSION && \
  24. mkdir build && cd build && \
  25. cmake -DCMAKE_INSTALL_PREFIX=${CPPDBROOT} .. && \
  26. make && make install
  27. ENV CPPDB_HOME=${CPPDBROOT}
  28. ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CPPCMS_HOME}/lib:${CPPDB_HOME}/lib
  29. WORKDIR /cppcms
  30. COPY src src
  31. COPY config-nginx-mysql.json config-nginx-mysql.json
  32. COPY Makefile Makefile
  33. COPY nginx.conf nginx.conf
  34. RUN make
  35. CMD nginx -c /cppcms/nginx.conf && ./mycppcms -c config-nginx-mysql.json