WindowsにDockerをインストールし、さらに2つのインストール、Oracle VM VirualBoxおよびKitematicをインストールしました。Windows10 PCでHyper-Vを無効にしました。問題は、DockerイメージをDockerHub、私もコマンドを実行することはできません
Docker info
両端で次のエラーが表示されます。
接続の試行中にエラーが発生しました:Get http:// localhost:2375/v1.21/info :dial tcp 127.0.0.1:2375:ConnectEx tcp:接続を確立できませんでした。ターゲットマシンがアクティブですそれを拒否した。
Docker QuickStartターミナルで実行すると機能しますが、PowerShellやMSBuildでは機能しません。
Docker QuickStart Terminalの代わりにWindowsコマンドプロンプトを使用している場合は、 official docs を参照してください(Dockerマシンの名前がdefaultであると想定):
docker-machine start default
_または新規作成docker-machine ls
_は、マシンが実行中であることを示します_docker-machine env --Shell cmd default
_すると、次のように表示されます
_SET DOCKER_TLS_VERIFY=1
SET DOCKER_Host=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\Arseny\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your Shell:
REM FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
_
FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
Dockerターミナル内のWindows 7でも同じエラーが発生しました。だから私は次のことをしなければなりませんでした。私のような人がこれを探している場合に備えて。
$ docker-machine rm default
$ docker-machine create --driver virtualbox default
Docker Quickstart Terminalの代わりにPowerShell(Windows 7)を使用する場合は、Powershellターミナルで次のコマンドをステップバイステップで入力します。
[〜#〜] note [〜#〜]:以下の操作を実行する前に、まずDocker Quickstart Terminalを起動する必要があります
docker-machine.exe env --Shell powershell
端末のコマンドの下に表示されます:
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_Host = "tcp://192.168.99.100:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\pratikpat\.docker\machine\machines\default"
$Env:DOCKER_MACHINE_NAME = "default"
# Run this command to configure your Shell:
# & "C:\Program Files\Docker Toolbox\docker-machine.exe" env --Shell powershell | Invoke-Expression
最後に表示されたコマンドを実行して、シェルを構成します。
& "C:\Program Files\Docker Toolbox\docker-machine.exe" env --Shell powershell | Invoke-Expression
docker dekstopで問題を解決できます。
[設定]-> [一般]で、TLSが有効になっていないtcp:// localhost:2375にExposeデーモンがありますか?説明されているようにデーモンにアクセスしたい場合に必要です。
それが私に起こったとき、私はセカンダリユーザー、つまり別のアカウントでインストールされたDocker
でした。そこで、私はマシンを管理者として[再]作成してみました:
C:\WINDOWS\system32>docker-machine create --driver "hyperv" default Creating CA: C:\Users\nonAdmin\.docker\machine\certs\ca.pem Creating client certificate: C:\Users\nonAdmin\.docker\machine\certs\cert.pem Running pre-create checks... (default) Image cache directory does not exist, creating it at C:\Users\nonAdmin\.docker\machine\cache... (default) No default Boot2Docker ISO found locally, downloading the latest release... (default) Latest release for github.com/boot2docker/boot2docker is v1.12.3 (default) Downloading C:\Users\nonAdmin\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.12.3/boot2docker.iso... (default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100% Creating machine... (default) Copying C:\Users\nonAdmin\.docker\machine\cache\boot2docker.iso to C:\Users\nonAdmin\.docker\machine\machines\default\boot2docker.iso... (default) Creating SSH key... (default) Creating VM... (default) Using switch "DockerNAT" (default) Creating VHD (default) Starting VM... (default) Waiting for Host to start... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available...
残念ながら、うまくいきませんでした。管理シェルでdocker
を実行しても失敗します。
私がしなければならなかったすべては走ることでした
docker-machine env --Shell cmd default
その後
eval "$(boot2docker shellinit)"