Dockeriser votre application en moins de 15 minutes…

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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *