web-dev-qa-db-fra.com

Variable d'environnement DOCKER_Host sur Windows

J'exécute Docker 1.12.0 sur un ordinateur Windows 10. Je développe un programme Java utilisant Maven 3.3.9 en tant que gestionnaire de dépendances. J'ai un plugin Maven Docker ( https://github.com/fabric8io/docker-maven-plugin ), qui donne l'erreur suivante lors d'une installation propre.

[ERREUR] Impossible d'exécuter l'objectif io.fabric8: docker-maven-plugin: 0.15.16: build (docker-build-start) sur le test d'intégration de projet: exécution docker-build-start de l'objectif io.fabric8: docker-maven -plugin: 0.15.16: échec de la construction: pas de <dockerHost> ou <machine> donné, pas de variable d'environnement DOCKER_Host et pas de lecture/écriture '/var/run/docker.sock' -> [Aide 1]

Lorsque j'exécute une nouvelle installation avec l'option de configuration suivante dans le fichier POM:

<dockerHost>tcp://0.0.0.0:2376</dockerHost>

le résultat suivant est affiché.

[ERREUR] Echec de l'exécution de l'objectif io.fabric8: docker-maven-plugin: 0.15.16: build (docker-build-start) sur le projet integration-test: impossible de créer un objet d'accès docker: impossible d'extraire la version de l'API du serveur https : //0.0.0.0: 2376 : Connexion à 0.0.0.0:2376 [/0.0.0.0] a échoué: Connexion refusée: connectez-vous -> [Aide 1]

Ma question: existe-t-il une adresse IP que je peux utiliser pour indiquer à ce plugin maven où il peut atteindre le démon? Les commandes normales du menu fixe fonctionnent parfaitement. Le plugin fonctionne sans aucun problème sous OS X.

8
user2969329

Sous Windows 10 avec Docker pour Windows, l’API de Docker Engine est disponible aux deux emplacements suivants:

  • 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

7
friism

Après presque une journée de recherches infructueuses sur Google, j'ai trouvé cette solution toute seule. Trivial, mais pourrait toujours aider les autres.

 expose Docker daemon

Vous devez activer la case à cocher 'Exposer daemon on ...' sous Settings -> General

3
Adriaan Koster

Il semble que l'utilisateur qui exécute les objectifs Maven n'a pas accès à docker.sock. Le message d'erreur indique quelles sont les options disponibles pour résoudre le problème. 

Pas de <dockerHost> ou <machine> donné, pas d'environnement DOCKER_Host variable, 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 ne nécessite pas de créer de machine de docker ni de définir un hôte DOCKER. Sous Linux, vous pouvez modifier l’autorisation de lecture/écriture de docker.sock comme suit:

Sudo chmod 776 /var/run/docker.sock

Sur Windows, passez par cet article: Article Microsoft

Si quelqu'un veut juste ignorer fabric8 le docker-maven-plugin exécution qui empêche la construction de réussir avec erreur 

Pas de donnée, pas de variable d'environnement DOCKER_Host, no read/writeable '/var/run/docker.sock' ou '//./pipe/docker_engine' et aucun fournisseur externe comme la machine Docker configurée

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

0
Vadzim