Créez une image Docker qui peut exécuter Apache Maven à l'aide d'Oracle Java publiée sur le Docker Store
Apache Maven est un outil bien connu pour les outils de gestion de projet (gestion de construction et de configuration) pour les projets Java. Pour utiliser ce Maven, il est généralement nécessaire d'installer Java, d'installer Maven, de transmettre le chemin et de définir JAVA_HOME et MAVEN_HOME. Nous avons préparé à l'avance une série d'environnements sous forme d'images Docker. En utilisant cela, vous pourrez construire un projet Maven sans Maven installé.
L'environnement Maven préparé ici utilise Java 8 fourni par Oracle publié sur le Docker Store comme runtime Java. Je vais.
Vous trouverez ci-dessous les informations de version pour Java et Maven.
--Java: Oracle JDK 8 (1.8.0_131: dernière version d'image en juillet 2017)
Ceci est une image d'opération de construction d'un projet avec Maven dans un conteneur Docker dans un environnement où Maven n'est pas installé:
Obtenir l'image publiée sur Docker Hub
docker pull shinyay/docker-mvn-jdk8:3.5.0
Montez le projet Maven dans votre environnement hôte dans un conteneur Docker, déplacez votre répertoire de travail vers le point de montage et exécutez la commande Maven.
docker run -it --rm -v [chemin du projet Maven dans l'environnement hôte]: [point de montage dans l'environnement conteneur] -w [point de montage dans l'environnement conteneur] shinyay / docker-mvn-jdk8: 3.5.0 mvn [ OBJECTIF MAVEN]
docker run -it --rm -v /home/shinyay/works/mvn-projects/mvn-webapp/mytest-app:/usr/src/mvnproject -w /usr/src/mvnproject shinya/mvn:3.5.0 mvn clean
docker run -it --rm -v /home/shinyay/works/mvn-projects/mvn-webapp/mytest-app:/usr/src/mvnproject -w /usr/src/mvnproject shinya/mvn:3.5.0 mvn package
Ceci est utile lorsque vous utilisez une image virtuelle qui n'inclut pas Maven.
L'amélioration future est que le référentiel n'est pas mis en cache après l'exécution de Maven, donc lorsque vous essayez de l'exécuter à nouveau, les bibliothèques dépendantes seront réacquises. Cependant, ce serait bien de le partager avec le référentiel Maven dans l'environnement hôte.
Recommended Posts