J'ai installé la boîte à outils Docker maintenant et j'obtiens l'erreur pour tout:
Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectExtcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
docker version
sortie:
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: windows/AMD64
Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
Mais la VM fonctionne sous VirtualBox. J'ai cherché partout mais je ne trouve pas de solution.
UPDATE1: J'utilise Windows 8.1 et j'ai également essayé de démarrer par Kinematic également.
UPDATE2: Tout a fonctionné comme un charme lorsque j'ai essayé Virtualbox Test Build 5.0.3 ou une version ultérieure. Vous pouvez télécharger ici: https://www.virtualbox.org/wiki/Testbuilds
Il suffit de courir:
"C:\Program Files\Docker Toolbox\docker-machine" ls
récupérez le nom de la machine, puis exécutez:
"C:\Program Files\Docker Toolbox\docker-machine" env <MACHINE_NAME_HERE> --Shell=[cmd|powershell]
et vous devriez obtenir quelque chose comme ça:
"C:\Program Files\Docker Toolbox\docker-machine" env default --Shell=cmd
set DOCKER_TLS_VERIFY=1
set DOCKER_Host=tcp://192.X.X.X:2376
set DOCKER_CERT_PATH=C:\Users\X\.docker\machine\machines\default
set DOCKER_MACHINE_NAME=default
# Run this command to configure your Shell:
# copy and paste the above values into your command Prompt
J'ai aussi une erreur open C:\Users\X\.docker\machine\machines\default\server.pem: The system cannot find the file specified.
et résolu le problème en mettant à niveau ma VirtualBox vers la version 5.0.3 (à partir de nightly builds )
Version longue:
J'ai eu le même problème et après et la section "Utilisation de Docker à partir de l'invite de ligne de commande Windows (cmd.exe)" du manuel d'installation m'a mis dans la bonne direction
Le fonctionnement de docker consiste essentiellement à transmettre les commandes "docker" à un service de docker (exécuté sur le port 2375). Lorsque vous exécutez le menu fixe depuis l'hôte Windows, le service s'exécute en réalité sur l'hôte Linux créé par le menu fixe (vous pouvez le voir en ouvrant l'interface utilisateur virtualbox).
Le flux habituel est le suivant:
docker ...
sont envoyées à l'hôte linux et tout fonctionne presque comme linux natif Le problème est qu'il y a un problème avec la configuration de la machine (je suppose que la nouvelle boîte virtuelle mais je ne suis pas sûr et j'ai le temps de creuser dedans). Vous pouvez voir qu'en exécutant la commande ls
, vous remarquerez que (du moins dans mon cas) l'état de la machine est "timeout" et qu'il n'y a pas d'URL, contrairement à la sortie indiquée dans le manuel.
Ainsi, les valeurs d’environnement ne sont pas définies et les commandes docker ...
échouent.
En plus d'exécuter la commande, vous pouvez également démarrer le Docker Quickstart Terminal
qui fait la même chose mais avec sh Shell
En ce qui concerne l'erreur de certificat, j'ai essayé de régénérer les certificats à partir de la machine virtuelle en utilisant:
/usr/local/bin/generate_cert --overwrite --Host=default,127.0.0.1,10.0.2.15,192.168.99.100 --ca=/var/lib/boot2docker/tls/ca.pem --ca-key=/var/lib/boot2docker/tls/cakey.pem --cert=/var/lib/boot2docker/tls/server.pem --key=/var/lib/boot2docker/tls/serverkey.pem
J'ai eu des "erreurs de protocole" lorsque j'ai essayé de copier le certificat sur l'ordinateur hôte, ce qui m'a rappelé un ancien bogue de dossiers partagés de virtualbox. Ce n'est donc probablement pas un problème avec docker, mais avec virtualbox. J'ai mis à niveau vers la dernière version nocturne (5.0 .3-102224), a régénéré l’image par défaut et cela semble la résoudre. Windows 10 n'étant pas encore officiellement pris en charge, ni par docker ni par virtualbox, je ne suis pas sûr que ce soit la même chose qui entraîne l'erreur de certificat. Dans tous les cas, vous pouvez essayer de copier les certificats de la machine virtuelle (vous avez les chemins dans le bloc de code) vers votre répertoire utilisateur local (il est mappé sur/c/Users/X/dans la machine virtuelle)
Ce qui suit a fonctionné pour moi (Docker Toolbox 1.8.1b et Windows 7). C’est une version simplifiée de ce que @ baptiste-gaillard a exposé dans les commentaires ci-dessus. Réponse courte: Utilisez VirtualBox 5.03 ou une version ultérieure dès le début.
Le script Quickstart semble mieux s’entendre avec VirtualBox 5.03 en ce qui concerne la création des clés TLS requises.
Avait le même problème que vous avez montré et juste résolu il y a quelques heures.
Il suffit de désactiver Hyper-V. Exécutez une invite de commande avec droits administrateur et exécutez la commande suivante:
bcdedit /set hypervisorlaunchtype off
Redémarrez votre PC, ouvrez virtualbox et supprimez la machine virtuelle par défaut après le redémarrage, revenez au terminal docker quickstart et entrez la commande suivante:
docker run hello-world
et tu as fini! J'espère que cela résoudra votre problème
ça marche pour moi
1) Commencez par lancer l'outil de ligne de commande et obtenez l'adresse IP de la machine en exécutant
docker-machine ls command
2) Re-générer des certificats Docker-machine regenerate-certs
3) Définir les variables evn manuellement dans mon cas, l'emplacement des certificats était différent
set DOCKER_TLS_VERIFY = 1
set DOCKER_Host = tcp: // machine_IP: 2376
set DOCKER_CERT_PATH = C:\Utilisateurs\X.docker\machine\certs
set DOCKER_MACHINE_NAME = par défaut
Maintenant, lancez version de docker
Voici la sortie dans mon cas
Client: Version: 1.8.1 Version de l'API: 1.20 Allez version: go1.4.2 Git commit: d12ea79 Année de construction: jeu 13 août 02:49:29 UTC 2015 OS/Arch: windows/AMD64
Serveur: Version: 1.8.1 Version de l'API: 1.20 Allez version: go1.4.2 Git commit: d12ea79 Année de construction: jeu 13 août 02:49:29 UTC 2015 OS/Arch: linux/AMD64
L'installation de Docker Toolbox (dans 1.8.x) configure par défaut votre démon Docker pour qu'il utilise une connexion sécurisée via le protocole TLS (version 1.8).
Si vous utilisiez une ancienne version du démon qui n'était pas sécurisée, cela signifie au moins deux choses: - le numéro de port est passé de 2375 à 2376 - votre client démon doit présenter un certificat pour pouvoir communiquer avec votre moteur/serveur docker.
Donc, la réponse de sandiindia indique les variables d’environnement qui précisent au client docker la bonne configuration pour se connecter au serveur/moteur docker:
#You're using a TLS secured daemon :
set DOCKER_TLS_VERIFY=1
# Precise the Docker Host IP and port, the TLS default is 2376
set DOCKER_Host=tcp://*<docker_Host_IP>*:2376
# The paths to the certificate and client key needed to authenticate to the daemon
# You should have 3 files in this directory : ca.pem, cert.pem and key.pem
# In my case the default path looks like :
set DOCKER_CERT_PATH=C:\Users\*<username>*\.docker\machine\machines\default
#the name of your Docker Host VM :
set DOCKER_MACHINE_NAME=default
La documentation de docker sur la configuration TLS: https://docs.docker.com/articles/https/
J'espère que ça aide;)
Close the virtual machine from Virtual Box (you don't have to delete it)
Close Kitematic
Close Docker Quickstart Terminal
Maintenant, faites ceci dans l'ordre:
Open Kitematic
Open Docker Quickstart Terminal
Il est important de ne pas d’ouvrir le terminal Docker Quickstart avant Kitematic, car ce dernier initialisera les choses pour le terminal Docker Quickstart
Je n'ai pas eu besoin d'exécuter de ligne de commande ..
J'espère que cela aidera un corps ..
Moi aussi j'ai eu le même problème, mais j'ai été capable de le résoudre sans avoir à taper quoi que ce soit sur la ligne de commande, cela a fonctionné hors de la boîte.
Il s'avère que quelques étapes d'initialisation étaient manquantes, comme indiqué dans la réponse acceptée ci-dessus. Pourquoi l'installation par défaut de Docker ne le faisait-elle pas déjà? J'avais aussi des certs manquants. Donc, j'ai tout désinstallé et redémarré à partir de zéro. Cependant, une fois l'installation terminée, n'ouvrez pas d'abord le terminal Docker Quick Start, ouvrez Kitematic pour effectuer la première initialisation à votre place.
Kitematic a créé les certificats pour moi, défini les variables env manquantes, puis j'ai ouvert le terminal Docker Quick Start. J'ai tapé docker run hello-world
, puis docker version
et cette fois, cela a fonctionné comme prévu, aucun message d'erreur.
Notez que cela ne fonctionnait pas lorsque j'ai d'abord ouvert le terminal Quick Start.
Je teste Docker au sein d'instances VMWare 10 et j'ai pu dupliquer ce problème et sa solution (solution de contournement) dans tous les cas.
J'espère que ça aide.
J'ai résolu mon problème en supprimant simplement la valeur par défaut VM dans le gestionnaire VirtualBox, en redémarrant l'ordinateur (au cas où), puis en réexécutant le terminal Docker Quickstart. C'est tout.
Docker 1.8.2 et Virtual Box 5.0.4
With Docker 1.8.1d a eu le même problème, après avoir désinstallé 1.8.1c. Problème éventuellement résolu en installant la dernière version de Virtual Box (5.0.18), en redémarrant à l'invite et en démarrant Kitematic Kitematic échoue au début et offre la possibilité de supprimer et de réinstaller le VM comme je l’ai fait. Après cela, mon terminal QuickStart était OK.
docker run hello-world
Et vous avez terminé.
Supprimez et supprimez toutes les anciennes machines v.machines de votre ordinateur portable: 1. Ouvrez VirtualBox, cliquez avec le bouton droit sur 'default', Supprimer, 'Supprimer tous les fichiers' . 2. Invite de commandes (Exécuter en tant qu'administrateur)> docker-machine rm default
Désinstallez Virtualbox, la boîte à outils Docker et Git . Accédez à c:\Users\Vinita et supprimez les répertoires. .docker et .Virtualbox CClean fichiers et registre . Redémarrez.
I. Téléchargez la dernière version des outils Docker pour Windows (1.10.2) à partir de Docker Toolbox Cliquez avec le bouton droit de la souris sur le fichier téléchargé et sur "Exécuter en tant qu’administrateur" Cela installera Docker Quickstart, Kitematic et Virtualbox.
II. Téléchargez la dernière version de test de VirtualBox (5.01.15-105696-win.exe) à partir de Testbuilds - Oracle VM VirtualBox. Exécutez à nouveau en tant qu'administrateur.
Jusqu'ici, rien d'extraordinaire. Nous venons d'installer le logiciel avec les droits d'administrateur . Maintenant, Panneau de configuration> Centre réseau et partage> Modifier les paramètres de l'adaptateur: Cliquez avec le bouton droit de la souris sur Réseau hôte uniquement hôte VirtualBox # 2 pour afficher les propriétés . Vérifier> VirtualBox NDIS6 Pilote de réseau ponté. (S'il est déjà coché, décochez-le et revérifiez.)
Vous avez terminé. C'est le seul correctif que nous avons utilisé!
Kitematic et Docker Quickstart devraient tous deux fonctionner maintenant.
Faites un clic droit sur Kitematic et lancez-le en tant qu'administrateur pour la première fois. Testé sous Windows 10.
Cela ressemble au problème de la boîte virtuelle, Dans mon cas, j'ai effectué les étapes ci-dessous pour résoudre le problème.
J'ai rencontré exactement la même erreur lorsque je lance images de menu fixe après un redémarrage du système. J'ai utilisé docker version 1.10 sur Windows 7 64 bits avec virtualbox 5.0.10 et menthe (le terminal est livré avec Git pour Windows)
L'exécution de docker-machine ls m'a montré que la machine virtuelle est dans l'état Timeout .
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
Alors j'ai redémarré la machine virtuelle
$ docker-machine restart default
Puis lister à nouveau le statut me dit que le certificat est lié à une adresse incorrecte:
$ docker-machine ls
Unable to query docker version: Get https://192.168.56.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.101, not 192.168.56.101
Ensuite, je régénère le certificat
$ docker-machine regenerate-certs default
et enfin
$ eval $(docker-machine env default --Shell=bash)
Ensuite, docker fonctionne à nouveau!
Il suffit de recréer la machine par défaut, puis d’exécuter
docker-machine env default
Ça marche pour moi.
Sur ma machine non virtuelle, j'ai eu la même erreur. Les étapes ci-dessous ont fonctionné pour moi
Faites un clic droit sur docker-> Sous Paramètres-> Général, le démon Expose est-il sur tcp: // localhost: 2375 sans que TLS soit activé? Vous devez le faire si vous souhaitez accéder au démon tel que décrit. Gardez toutefois à l'esprit que ce paramètre n'est pas sécurisé, comme expliqué dans l'avertissement.
Cela m'est arrivé plusieurs fois sous Windows 10 avec VirtualBox 5.0.14.
Cela semble être lié au fait de ne pas éteindre correctement VirtualBox (je crois) - par exemple, une coupure de courant!
Arrêter la VM Docker
Fermer Kitematic
Démarrer le terminal Docker Quickstart
Tapez le terminal:
docker-machine.exe -D ls
Si cela ne fonctionne pas, essayez à nouveau les étapes 1 à 3 et cette fois, essayez de régénérer les certificats Ensuite, faites l'étape 4.
Ce qui est étrange, c’est que, dans le terminal, docker images
ne les répertorie pas, mais indique qu’il ne peut pas se connecter à 127.0.0.1:2375 (mais docker-machine ls
indique que la machine par défaut fonctionne sur 192.168.99.100:2376).
si vous utilisez Docker pour Windows (version bêta), procédez comme suit: