From 9e1d91a340c0b294e8f09f81195703d464055b7f Mon Sep 17 00:00:00 2001
From: Ludovic Claude <ludovic.claude54@gmail.com>
Date: Tue, 26 Jan 2016 14:32:51 +0100
Subject: [PATCH] Improve local Docker container for development

---
 Dockerfile                           | 12 ++++++++++--
 captain.yml                          |  1 +
 docker-compose.yml                   |  1 +
 pom.xml                              |  4 ++--
 src/main/resources/hibernate.cfg.xml |  2 +-
 stop.sh                              |  8 ++++++++
 6 files changed, 23 insertions(+), 5 deletions(-)
 create mode 100755 stop.sh

diff --git a/Dockerfile b/Dockerfile
index b1bf8af85..ab64cbeee 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,17 @@
+# This Dockerfile encapsulate the MIP portal  backend application for development purposes.
+
 FROM java:8-jre
 
-COPY target/mip.jar /opt/mip/mip.jar
+RUN apt-get update && apt-get install -y wget
+RUN wget https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-amd64-v0.2.0.tar.gz
+RUN tar -C /usr/local/bin -xzvf dockerize-linux-amd64-v0.2.0.tar.gz
 
+RUN mkdir -p /opt/portal/ \
+    && echo -n "#!/bin/sh\n/usr/bin/java -DconfigFile=/opt/portal/config/portal.properties -jar /opt/portal/lib/mip.jar" > /opt/portal/mip.sh \
+    && chmod +x /opt/portal/mip.sh
 EXPOSE 8080
 
 VOLUME /opt/portal/config/
+VOLUME /opt/portal/lib/
 
-CMD ["/usr/bin/java", "-DconfigFile=/opt/portal/config/portal.properties", -jar", "/opt/mip/mip.jar"]
+CMD ["/usr/local/bin/dockerize", "-wait", "tcp://portaldb:5432", "/opt/portal/mip.sh"]
diff --git a/captain.yml b/captain.yml
index 38690b0a2..26ede42e0 100644
--- a/captain.yml
+++ b/captain.yml
@@ -3,6 +3,7 @@ portal-backend:
   image: portal-backend
   pre:
     - echo "Build portal-backend"
+    - docker-compose up -d portaldb
     - mvn package
   post:
     - echo "Finished building portal-backend"
diff --git a/docker-compose.yml b/docker-compose.yml
index 57c61b522..637639381 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -12,6 +12,7 @@ portal-backend:
   build: .
   volumes:
     - ./src/test/docker/:/opt/portal/config/
+    - ./target/:/opt/portal/lib/
   links:
     - portaldb
   ports:
diff --git a/pom.xml b/pom.xml
index 378096284..fcf4ea171 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,12 +87,12 @@
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
-            <version>2.0.4-SNAPSHOT</version>
+            <version>2.3.1</version>
         </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.0.4-SNAPSHOT</version>
+            <version>2.3.1</version>
         </dependency>
         <dependency>
             <groupId>com.google.code.gson</groupId>
diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml
index 798fb189c..e32e1beed 100644
--- a/src/main/resources/hibernate.cfg.xml
+++ b/src/main/resources/hibernate.cfg.xml
@@ -31,4 +31,4 @@
         <mapping class="org.hbp.mip.model.Group"/>
 
     </session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>
diff --git a/stop.sh b/stop.sh
new file mode 100755
index 000000000..3bc6146ac
--- /dev/null
+++ b/stop.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+if groups $USER | grep &>/dev/null '\bdocker\b'; then
+  DOCKER_COMPOSE="docker-compose"
+else
+  DOCKER_COMPOSE="sudo docker-compose"
+fi
+
+$DOCKER_COMPOSE rm -f
-- 
GitLab