Edited at

WindowsのDocker Quickstart Terminalで"vboxmanage.exe"が見つからないエラーになる

More than 3 years have passed since last update.


背景

Dockerに初めて手を出してみようと、Docker for Windows のインストール を参考にインストール。手順に従って Docker Quickstart Terminal を起動するも下記エラーに遭遇して先に進まなくなったので調べた。

Looks like something went wrong in step ´Looking for vboxmanage.exe´... Press any key to continue...


VirtualBoxのパスが通っていない?

エラーメッセージからは、VBoxのコマンドが見つからない、と言われているように見える。なんか嘘くさいので、Docker Quickstart Terminal起動時に実行されているstart.shC:\Program Files\Docker Toolbox\start.sh)をデバッグする。

+ trap '[ "$?" -eq 0 ] || read -p "Looks like something went wrong in step ´$STEP´... Press any key to continue..."' EXIT

+ VM=default
+ DOCKER_MACHINE=./docker-machine.exe
+ STEP='Looking for vboxmanage.exe'
+ '[' '!' -z 'C:\Program Files\Oracle\VirtualBox\' ']'
+ VBOXMANAGE='C:\Program Files\Oracle\VirtualBox\VBoxManage.exe'
+ BLUE='\033[1;34m'
+ GREEN='\033[0;32m'
+ NC='\033[0m'
+ '[' '!' -f ./docker-machine.exe ']'
+ echo 'Docker Machine is not installed. Please re-run the Toolbox Installer and try again.'
Docker Machine is not installed. Please re-run the Toolbox Installer and try again.
+ exit 1
++ '[' 1 = 1 ']'
++ '[' -x /usr/bin/clear ']'
++ /usr/bin/clear

+ '[' 1 -eq 0 ']'
+ read -p 'Looks like something went wrong in step ´Looking for vboxmanage.exe´... Press any key to continue...'
Looks like something went wrong in step ´Looking for vboxmanage.exe´... Press any key to continue...

Docker Machine is not installed というメッセージが出力されている。

原因はVBoxではなく、docker-machine.exeが見つからないこと。

途中でメッセージがclearされて見えなくなっていただけなので、わざわざデバッグしなくてもエラー画面で上にスクロールすればメッセージは見えたっぽい。


原因

docker-machine.exeのパスがstart.sh最初の方で下記のように相対パスで指定されていることと、自分の環境(.bashrc)が原因。

DOCKER_MACHINE=./docker-machine.exe

これはDocker Quickstart Terminalを実行したときのカレントディレクトリが、C:\Program Files\Docker Toolbox\だという前提になっている。

自分の場合.bashrcでディレクトリを移動しているので、sh実行時に上記exeが見つからず問題が起きていた。


対応方法

下記いずれかで対応。


1. .bashrccdしないようにする


2. start.shを書き換える 1

start.shの中で、期待されるディレクトリに移動させる(shの最初の方に下記を追記する)

cd /c/Program\ Files/Docker\ Toolbox


3. Docker Quickstart Terminalを使わない

Docker for Windows のインストール の手順を読んでいくとこのTerminalを利用する前提になっているが、似たような内容が書いてあるWindows のページの手順だと、他のShellから利用する方法も記載されている。

なんだgit-bashでよかったじゃん、っていう。


補足





  1. 環境によっては、start.shを編集する権限がないと言われる場合があるので、「ファイルを右クリック→プロパティ→セキュリティ→編集」で権限をつける