forked from airlift/airbase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAirliftDockerfile
51 lines (40 loc) · 1.28 KB
/
AirliftDockerfile
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
ARG AIRLIFT_DIRECTORY
ARG ARTIFACT_ID
ARG ARTIFACT_VERSION
ARG JAVA_VERSION
ARG MAINTAINER
ARG USER
ARG APPLICATION_PORT
FROM alpine:3 as extractor
ARG AIRLIFT_DIRECTORY
ARG ARTIFACT_ID
ARG ARTIFACT_VERSION
ARG JAVA_VERSION
COPY ${ARTIFACT_ID}-${ARTIFACT_VERSION}.tar.gz .
RUN mkdir -p /opt/${AIRLIFT_DIRECTORY}
RUN tar -xf ${ARTIFACT_ID}-${ARTIFACT_VERSION}.tar.gz --directory /opt/${AIRLIFT_DIRECTORY} --strip-components=1
RUN rm ${ARTIFACT_ID}-${ARTIFACT_VERSION}.tar.gz
FROM ${JAVA_VERSION}
ARG AIRLIFT_DIRECTORY
ARG ARTIFACT_ID
ARG ARTIFACT_VERSION
ARG MAINTAINER
ARG USER
ARG APPLICATION_PORT
LABEL maintainer=${MAINTAINER}
LABEL service=${ARTIFACT_ID} version=${ARTIFACT_VERSION}
RUN apt-get update && \
apt-get install -y \
jq \
python \
tmux && \
rm -rf /var/lib/apt/lists/* && \
adduser --home /opt/${AIRLIFT_DIRECTORY} --no-create-home --disabled-login --gecos "" ${USER} && \
mkdir /var/log/${AIRLIFT_DIRECTORY} && \
chown -R ${USER}:${USER} /var/log/${AIRLIFT_DIRECTORY}
COPY --chown=${USER}:${USER} --from=extractor /opt/${AIRLIFT_DIRECTORY} /opt/${AIRLIFT_DIRECTORY}
EXPOSE ${APPLICATION_PORT}
ENV AIRLIFT_DIRECTORY=${AIRLIFT_DIRECTORY}
CMD /opt/${AIRLIFT_DIRECTORY}/bin/launcher run \
--etc-dir=/etc/${AIRLIFT_DIRECTORY} \
--verbose