Variable d’environnement DOCKER_HOST sur windows

J’utilise Docker 1.12.0 sur une machine Windows 10. Je développe un programme Java, en utilisant Maven 3.3.9 comme gestionnaire de dépendance. J’ai un plugin maven docker ( https://github.com/fabric8io/docker-maven-plugin ), qui donne l’erreur suivante lors d’une installation propre.

[ERREUR] Echec de l’exécution de l’objective io.fabric8: docker-maven-plugin: 0.15.16: build (docker-build-start) lors du test d’intégration du projet: Exécution docker-build-start de l’objective -plugin: 0.15.16: la compilation a échoué: non ou donné, pas de variable d’environnement DOCKER_HOST et pas de lecture / écriture ‘/var/run/docker.sock’ -> [Aide 1]

Lorsque je lance une installation propre avec l’option de configuration suivante dans le fichier POM:

 tcp://0.0.0.0:2376 

le résultat suivant est affiché.

[ERREUR] Echec de l’exécution de l’objective io.fabric8: docker-maven-plugin: 0.15.16: build (docker-build-start) lors du test d’intégration du projet: Impossible de créer l’object d’access docker: Impossible d’extraire la version API /0.0.0.0:2376 : Echec de la connexion à 0.0.0.0:2376 [/0.0.0.0]: Connexion refusée: connexion -> [Aide 1]

Ma question: y a-t-il une adresse IP que je peux utiliser pour dire à ce plugin maven où il peut atteindre le démon? Les commandes docker normales fonctionnent parfaitement. Le plugin fonctionne sans aucun problème sur OS X.

Sur Windows 10 avec Docker pour Windows, l’API Docker Engine est disponible à ces deux emplacements:

  • npipe:////./pipe/docker_engine
  • http://localhost:2375

Je recommande d’essayer avec le localhost.

Détails ici: https://docs.docker.com/docker-for-windows/faqs/#/how-do-i-connect-to-the-remote-docker-engine-api

Après presque une journée de googling infructueux, j’ai trouvé cette solution par moi-même. Trivial, mais pourrait encore aider les autres.

exposer le démon Docker

Vous devez activer la case à cocher ‘Expose daemon on …’ sous Settings -> General

Il semble que l’utilisateur qui exécute les objectives de Maven n’ait pas access à docker.sock . Le message d’erreur indique quelles options sont disponibles pour résoudre le problème.

Non ou donné, pas de variable d’environnement DOCKER_HOST et pas de lecture / écriture ‘/var/run/docker.sock

La dernière option est la plus simple car elle nécessite une autorisation de fichier et il n’est pas nécessaire de créer une machine de docker ou de définir un DOCKER_HOST. Sous Linux, vous pouvez modifier les permissions de lecture / écriture de docker.sock avec les éléments suivants:

 sudo chmod 776 /var/run/docker.sock 

Sur Windows, passez par cet article: article Microsoft

Si quelqu’un veut simplement ignorer l’exécution de fabric8 docker-maven-plugin qui empêche la génération de réussir avec une erreur

Aucune donnée, aucune variable d’environnement DOCKER_HOST, pas de lecture / écriture ‘/var/run/docker.sock’ ou ‘//./pipe/docker_engine’ et aucun fournisseur externe tel que Docker machine configuré

cela peut être réalisé avec -Ddocker.skip=true selon https://dmp.fabric8.io/#global-configuration .

utilisez docker-machine si vous utilisez la boîte à outils.

   default true  virtualbox 2