
L’heure est à la containérisation des applications web… Je vais vous présenter dans ce billet, comment "Dockeriser" votre application en moins de 15 minutes grâce au plugin maven de Spotify.
Pour cela il vous suffit de réaliser les étapes ci-dessous
Step 1 : (Ajouter le plugin dans votre pom)
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<executions>
<execution>
<id>package</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<execution>
<id>push-image</id>
<phase>deploy</phase>
<goals>
<goal>push</goal>
</goals>
</execution>
</executions>
<confiuration>
<imageName>docker…/${artifactId}:{ProjectId}</imageName>
<!-- Utilise le Dockerfile filtré en amont par le plgun maven-resources-plugin -->
<dockerDirectory>${project.build.directory}/docker-filtered</dockerDirectory>
</confiuration>
</plugin>
Step 2 : (Créer votre fichier Dockerfile)
Ce fichier défini l'image à partir de laquelle va-t-être créé notre container
# Conteneur basé sur l'image officielle Docker openjdk-8-jdk, cf. https://github.com/docker-library/official-images/blob/master/library/java
FROM java:openjdk-8-jdk
#Ajout d'un user
RUN useradd -d /home/myUser -m -s /bin/bash myUser
USER myUser
# Ajout du jar dans le répertoire /etc/myUser/ du conteneur
ADD ${project.artifactId}-${project.version}.jar /etc/myUser/
# Exposition du port 8080 sur lequel l'application répond
EXPOSE 8080
WORKDIR /etc/myUser/
# Lancement de l'application java avec le paramètre -Djava.security.egd pour
# un démarrage plus rapide du tomcat embarqué cf. https://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/etc/gif/${project.artifactId}-${project.version}.jar"]
Step 3 : Félicitation
Vous venez de "dockeriser" votre application... il ne vous reste plus cas lancer votre tâche maven permettant de builder et deployer votre container.