From fa79c9ed10de3f29a987db1deb121ee0055c4099 Mon Sep 17 00:00:00 2001
From: crusader <crusader@loafle.com>
Date: Thu, 7 Sep 2017 21:48:56 +0900
Subject: [PATCH] docker

---
 Dockerfile                       | 28 ++++++++++++++++++++++------
 _docker/bin/docker-entrypoint.sh |  9 +++++++++
 2 files changed, 31 insertions(+), 6 deletions(-)
 create mode 100644 _docker/bin/docker-entrypoint.sh

diff --git a/Dockerfile b/Dockerfile
index 5c2e512..3f8f6c8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,17 +1,33 @@
 FROM alpine:latest
 
 ENV APP_VERSION=1.0.0 \
-  APP_HOME=/service \
-  APP_NAME=overflow_gateway_web
+    APP_HOME=/service \
+    APP_NAME=overflow_gateway_web \
+    APP_CONF_PATH="/opt/conf" \
+    PATH="$PATH:/opt/bin"
+
+ADD dist/${APP_NAME} ${APP_HOME}/
+ADD _docker/bin/*.sh /opt/bin/
+
+RUN apk add --no-cache curl \
+    && chmod +x /opt/bin/*.sh
+
+ENV TINI_VERSION='0.15.0' \
+    TINI_SHA='4007655082f573603c02bc1d2137443c8e153af047ffd088d02ccc01e6f06170'
+
+# Use tini as subreaper in Docker container to adopt zombie processes
+RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini \
+    && chmod +x /bin/tini \
+    && echo "$TINI_SHA  /bin/tini" | sha256sum -c -
 
 WORKDIR ${APP_HOME}
 
-ADD dist/${APP_NAME} ${APP_HOME}/
-ADD config.json ${APP_HOME}/
-
+VOLUME ${APP_CONF_PATH}
 EXPOSE 80 443
 
-ENTRYPOINT ["./overflow_service_websocket"]
+ENTRYPOINT ["/bin/tini", "--"]
+CMD ["docker-entrypoint.sh"]
+
 
 # docker build -f Dockerfile -t docker.loafle.net/overflow/overflow_service_websocket:1.0.0-alpine .
 # docker run -d -p 18081:80 -t docker.loafle.net/overflow/overflow_service_websocket:1.0.0-alpine
diff --git a/_docker/bin/docker-entrypoint.sh b/_docker/bin/docker-entrypoint.sh
new file mode 100644
index 0000000..44af60c
--- /dev/null
+++ b/_docker/bin/docker-entrypoint.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+cd /service
+
+/usr/bin/java -classpath ${APP_CONF_PATH}/:${APP_FILENAME}:lib/* ${APP_MAIN_CLASS} 50006
+
+exec "$@"
\ No newline at end of file