DockerToolboxでwindowsにてDockerを動かす
まだDockerについて、ちゃんと理解できていないながら、使うためにはどうするか。を学習中です。
DockerはLinuxで使えるように作られたため、元はMacでもvagrantの仮想環境で動作することを前提にToolboxで起動していたらしいです。
現在ではDocker for Macであれば、vagrantを使用しなくても使えるようになり、簡易的になったと思っています。
ではWindowsで使用するには、どうすればいいか。というのは、vagrant上の仮想環境で動作させることが標準のようです。(Windows10 ProfessionalであればHyper-VがあるためDocker for Windowsが使えるらしい)
Docker Toolboxをインストールすることで、必要なアプリケーションがインストールされます。
- Docker Client for Windows
- Docker Toolbox management tool and ISO
- Oracle VM VirtualBox
- Git MSYS-git UNIX tools
インストール自体は、実行ファイルから次々やってたら、入りました。(すでにvagrant環境は入っていたので、ちゃんと最初からいれているわけではないです)
起動
Docker QuickStartを起動することで、DockerMachineが起動します。起動しているかどうかは、lsコマンドで確認できます。
docker-machine ls
docker machineが起動している状態で、dockerコマンド等を実行していきます。
以前作成したdocker-composeファイルを使用して動作するか試してみたところ、問題なく動作しました。vagrant上で動作しているみたいですね。
Kitematicでの操作をよくみますが、自分の環境では100%になった後に画面が変わらずそのままになったため、使っていません。
Windows named pipe error: 指定されたファイルが見つかりません。 (code: 2)
Docker QuickStartを実行するまえに、docker-composeをしているとエラーでなにも実行されません。
Windows named pipe error: 指定されたファイルが見つかりません。 (code: 2)
docker-machineが起動している状態で操作する必要があります。
UnicodeDecodeError
docker-compose.ymlとDockerfileがUTF-8で作成されていると、エラーが発生しました。
UnicodeDecodeError: 'cp932' codec can't decode byte 0x83 in position 217: illegal multibyte sequence [11368] Failed to execute script docker-compose
powershellで実行していますが、どうやらSJISでないとだめな模様です。
ファイルをSJISで保存しなおしたら、無事起動しました。
これでWindowsでも使えるかな。