Wie starte ich docker hello world? Beim Verbindungsaufbau ist ein Fehler aufgetreten

3

Ich habe docker unter Windows 10 installiert, aber wenn ich versuche, es mit einem Beispiel auszuführen, erhalte ich Folgendes:

C:\Program Files\Docker Toolbox\kitematic>docker run hello-world
An error occurred trying to connect: Post http://localhost:2375/v1.21/containers/create: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could b
e made because the target machine actively refused it.

Wie repariert man?

Dims
quelle

Antworten:

2

Ich bin ein Docker-Neuling, daher bin ich mir meiner Antwort nicht so sicher, aber ich hatte das gleiche Problem, das Sie beschrieben haben, und hier ist, wie ich es gelöst habe ...

Als erstes gehe ich davon aus, dass Sie eine Docking-Maschine haben, wie zum Beispiel:

C:\Program Files\Docker Toolbox>docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL                       SWARM   DOCKER    ERRORS
docker    -        hyperv   Running   tcp://192.168.0.22:2376           v1.9.1

Es hat eine Weile gedauert, bis ich so weit gekommen bin, da ich Hyper-V als Host für meinen Docker-Computer verwende. Sobald Sie hier sind, können Sie jedoch docker-machineIhre Konfigurationseinstellungen abrufen:

C:\Program Files\Docker Toolbox>docker-machine config docker
--tlsverify
--tlscacert="C:\\Users\\Ken\\.docker\\machine\\certs\\ca.pem"
--tlscert="C:\\Users\\Ken\\.docker\\machine\\certs\\cert.pem"
--tlskey="C:\\Users\\Ken\\.docker\\machine\\certs\\key.pem"
-H=tcp://192.168.0.22:2376

Um diese Parameter beizubehalten (damit Sie sie nicht bei jedem Aufruf von weitergeben müssen docker.exe), können Sie die folgenden Umgebungsvariablen erstellen (klicken Sie hier, um Einzelheiten zu den verfügbaren Variablen anzuzeigen):

set DOCKER_HOST=tcp://192.168.0.22:2376
set DOCKER_TLS_VERIFY=true
set DOCKER_CERT_PATH=C:\Users\Ken\.docker\machine\certs

Ich habe das alles noch nicht geschrieben, aber ich denke, ich werde eine Alternative zu start.sh erstellen, die mit Docker Toolbox geliefert wird, da sich diese IP-Adresse wahrscheinlich jedes Mal ändert, wenn Sie die virtuelle Maschine starten, die Docker hostet. HINWEIS: docker-machinehaben Sie auch hier behandelt! Nachdem Sie Ihren Docker-Computer gestartet haben, können Sie den docker-machine env <machine>Befehl verwenden, um diese Umgebungsvariablen automatisch festzulegen!

Deshalb habe ich das folgende Bash-Skript erstellt, um das Skript start.sh zu ersetzen:

docker-machine start docker
eval "$(docker-machine.exe env docker)"

Natürlich müssen Sie meine Angaben gegen Ihre austauschen, aber ich hoffe, das ist hilfreich. Ich weiß, dass ich eine schreckliche Zeit damit verbracht habe, Dokumentation darüber zu finden, wie man dieses Zeug unter Windows 10 zum Laufen bringt.

Kenneth LeFebvre
quelle