-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
68 lines (56 loc) · 3.12 KB
/
Dockerfile
File metadata and controls
68 lines (56 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
ARG varnish_version=latest
FROM secoresearch/varnish:${varnish_version}
# INSTALL PROGRAMS
RUN apt-get update && \
apt install -y apt-transport-https gpg wget
# Java 8
RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null && \
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
RUN apt-get update && \
apt-get install -y temurin-8-jdk \
maven \
git \
jsvc \
vim
WORKDIR /opt
ENV TOMCAT_MAJOR_VERSION=9
ENV TOMCAT_VERSION=9.0.115
RUN wget https://dlcdn.apache.org/tomcat/tomcat-$TOMCAT_MAJOR_VERSION/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz || wget https://archive.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR_VERSION/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN tar xzvf apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN rm apache-tomcat-$TOMCAT_VERSION.tar.gz
WORKDIR /
# ENVIRONMENT VARIBLES
ENV JAVA_HOME=/usr/lib/jvm/temurin-8-jdk-amd64
ENV CATALINA_HOME "/opt/apache-tomcat-"$TOMCAT_VERSION
ENV CATALINA_BASE "$CATALINA_HOME"
ENV PATH_WEBAPPS "$CATALINA_BASE/webapps"
ENV PATH_WEBAPP_ROOT "$PATH_WEBAPPS/ROOT"
ENV PATH_TOMCAT_WORK "$CATALINA_BASE/work"
ENV FILE_PID_TOMCAT "/run/tomcat.pid"
ENV PATH_LOG "/log"
ENV FILE_CONF_TOMCAT_LOGGING "$CATALINA_BASE/conf/logging.properties"
ENV FILE_LOG_TOMCAT "$PATH_LOG/tomcat.log"
ENV FILE_ERR_TOMCAT "$PATH_LOG/tomcat.err"
ENV FILE_ERR_VARNISH "$PATH_LOG/varnish.log"
ENV FILE_LOG_VARNISH "$PATH_LOG/varnish.err"
ENV RUN_TOMCAT "/run-tomcat.sh"
ENV EXEC_TOMCAT "exec $RUN_TOMCAT"
ENV RUN_TOMCAT_VARNISH "/run-tomcat-varnish.sh"
ENV EXEC_TOMCAT_VARNISH "exec $RUN_TOMCAT_VARNISH"
# PERMISSIONS
RUN D="$CATALINA_HOME" && mkdir -p "$D" && chgrp -R root "$D" && chmod g=u -R "$D" && \
D="$PATH_LOG" && mkdir -p "$D" && chgrp -R root "$D" && chmod g=u -R "$D" && \
D="$PATH_TOMCAT_WORK" && mkdir -p "$D" && chgrp -R root "$D" && chmod g=u -R "$D" && \
D="$PATH_WEBAPPS" && mkdir -p "$D" && chgrp -R root "$D" && chmod g=u -R "$D" && \
D="$PATH_WEBAPP_ROOT" && mkdir -p "$D" && chgrp -R root "$D" && chmod g=u -R "$D" && \
F="$FILE_LOG_TOMCAT" && D="$(dirname "$F")" && mkdir -p "$D" && chmod g=u "$D" && touch "$F" && chmod g=u "$F" && \
F="$FILE_ERR_TOMCAT" && D="$(dirname "$F")" && mkdir -p "$D" && chmod g=u "$D" && touch "$F" && chmod g=u "$F" && \
F="$FILE_LOG_VARNISH" && D="$(dirname "$F")" && mkdir -p "$D" && chmod g=u "$D" && touch "$F" && chmod g=u "$F" && \
F="$FILE_ERR_VARNISH" && D="$(dirname "$F")" && mkdir -p "$D" && chmod g=u "$D" && touch "$F" && chmod g=u "$F" && \
F="$FILE_PID_TOMCAT" && D="$(dirname "$F")" && mkdir -p "$D" && chmod g=u "$D" && touch "$F" && chmod g=u "$F"
# Link tomcat log location to PATH_LOG
RUN rmdir "$CATALINA_BASE/logs" && ln -s "$PATH_LOG" "$CATALINA_BASE/logs"
# ENTRY
COPY run-tomcat "$RUN_TOMCAT"
COPY run "$RUN_TOMCAT_VARNISH"
ENTRYPOINT [ "/run-tomcat-varnish.sh" ]