J'essaie de construire directement une image de menu fixe avec maven avec mvn package docker:build
.
Docker est en cours d'exécution et docker ps
me montre mes conteneurs. Je suppose donc que tout fonctionne correctement. J'obtiens cependant l'erreur suivante:
[ERREUR] Impossible d'exécuter l'objectif com.spotify: docker-maven-plugin: 0.2.3: construire (default-cli) sur le projet reservierung: Une exception interceptée: Java.util.concurrent.ExecutionException: com.spotify.docker.client. shaded.javax.ws.rs.ProcessingException: o rg.Apache.http.conn.HttpHostConnectException: Connexion à localhost: 2375 [Localhost/127.0.0.1, localhost/0: 0: 0: 0: 0: 0: 0: 0: 1] a échoué: Connexion refusée: connectez-vous>
Ma première approche a été que, depuis que je travaille sur Windows, je dois appeler l'adresse IP de docker-machine au lieu de localhost, mais cela n'a pas fonctionné non plus. Je suis un peu désemparé ici, parce que je suppose que c'est quelque chose de simple que je me trompe, mais je ne trouve rien au sujet de l'erreur de connexion refusée lorsque le menu fixe fonctionne (apparemment) correctement.
Je suis désolé si c'est trivial.
Sous Windows avec Docker/Hyper-V, cela m'est arrivé avec com.spotify: docker-maven-plugin: 1.0.0. Il y a une discussion à ce sujet sur un autre forum , où ils conseillent d'allumer
dans le menu fixe Paramètres/Onglet Général. Cela a fonctionné pour moi.
je résous le problème en utilisant ce paramètre:
<configuration>
<imageName>10.10.8.175:5000/${artifactId}:${project.version}</imageName>
<dockerHost>https://192.168.99.100:2376</dockerHost>
<dockerCertPath>C:\Users\AtomView\.docker\machine\machines\default</dockerCertPath>
<dockerDirectory>src/main/resources/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>*.Zip</include>
</resource>
</resources>
</configuration>
Essayez de lancer 'docker-machine ls' pour vérifier l'adresse IP. Si ce n'est pas une adresse localhost, vous aurez besoin d'une balise dockerHost dans la configuration de votre plugin . Ex: <dockerHost>https://192.168.99.100:2376</dockerHost>
la dernière version du plugin est 0.4.1 et non 0.2.3
Sur MacOs, je viens de définir les variables d’environnement comme indiqué par
docker-machine env
Lors de l'exécution de la construction à partir d'un IDE, assurez-vous que ces variables sont correctement définies.
Les modifications ci-dessous ont corrigé le problème sous OSX El Capitan, Docker version 1.12.1 (build: 12133):
export DOCKER_Host=unix:///var/run/docker.sock
Veuillez redémarrer le menu fixe si mvn package docker:build
échoue toujours.
Sous Windows 7 64, l’environnement de docker semble un peu difficile à installer car il nécessite une machine virtuelle Linux pour fonctionner (problèmes de mise à jour avec l’installation précédente de vbox) https://github.com/docker/machine/issues/3396 )
Heureusement, dans le terminal docker quickstart, nous pouvons faire:
$ docker-machine.exe env
export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://192.168.99.101:2376"
export DOCKER_CERT_PATH="C:\Users\uv\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your Shell:
# eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
nous montrant ce qu'il faut mettre dans la configuration du plugin
<dockerHost>https://192.168.99.101:2376</dockerHost>
mais seulement après avoir utilisé les conseils trouvés ici:
Docker: une erreur s'est produite lors de la tentative de connexion
avec la partie importante étant:
Run FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
nous pouvons exécuter le mvnw docker:build
avec succès dans le terminal cmd/intellij :)
Dans Ubuntu 16.04, je l'ai résolu avec:
DOCKER_Host=unix:///var/run/docker.sock mvn clean install
mettre à jour le plugin maven docker vers la dernière version 1.2.0. Cela résout le problème.