モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

Docker for Windowsオープンベータのインストールと問題点

先日6/21ごろから、Docker for Windows がオープンベータになったので早速試してみました。


Announcing the Docker for Mac and Windows Public Beta | Docker Blog
https://blog.docker.com/2016/06/docker-mac-windows-public-beta/


下記ページから Docker for Windowsインストーラを利用してインストールします。
バージョンは「DOCKER 1.12.0-RC2-BETA16」でした。


Getting Started with Docker for Windows
https://docs.docker.com/docker-for-windows/


Docker for WindowsWindows 10 64bitとHyper-Vが必須要件となっています。
Hyper-Vは「プログラムと機能」→「Windowsの機能」→「Hyper-V」から入れることが出来ます。
自分のWindows10はHyper-Vが入っていない状態でしたが、入っていないとインストーラが入れるか聞いてきて、入れてくれました。


また、事前にDocker Toolboxが入っていると動かないようです。
自分はこれで最初動かなくてはまったのですが、アンインストールしたら動くようになりました。


このページの書いてある例のように

$ docker run -d -p 80:80 --name webserver nginx

でnginxを起動してブラウザで「http://docker」を表示したところ、無事にページが見えることを確認出来ました。
コンテナの起動は非常に早く、コンテナイメージがローカルにあれば2秒程度で起動してくれました。これはほんとに手軽でよいです。

$ docker ps

で、現在起動しているコンテナを確認することが出来ます。

docker exec -it 【コンテナID】 bash

で、そのコンテナに入って操作や確認することが出来ます。


Docker ハンズオン - 基本コマンド編 - Qiita
http://qiita.com/hihihiroro/items/6dda871dc2566801a6da


が、次の日に同様に使おうと思ったところ、dockerがちゃんと立ち上がっていないことに気が付きました。
Docker for Windowsが起動していると、タスクバーのインジケータに白い鯨のアイコンが出ているのですが、うまく立ち上がっていない時は赤い鯨になっています。
赤い鯨にマウスを持って行くと「'MobyLinuxVM' failed to start.」と出ていました。


下記ページによるとWindows Updateの「KB3163018」が悪影響を及ぼしてるようで、これをアンインストールするとうまくいったという話や、ベータ16だと解決された、「KB3163018」が入っていてベータ16ではHyper-Vを再度入れなおすとうまくいくのでは、という話が出ていました。


'MobyLinuxVM' failed to start - Docker for Windows - Docker Forums
https://forums.docker.com/t/mobylinuxvm-failed-to-start/15175


自分が試した限り、ベータ16でHyper-Vを入れなおしても、再起動するとやはりこの状況になってしまい、改善しませんでした。
「KB3163018」のアンインストールは試していません。


ただ、dockerの設定ウィンドウからRestartを掛けると動くことがわかりました。
PC起動時に同時起動する場合だと、うまく動かないのかもしれません。


この状態だとMobyLinuxVMが動いているため、すでにローカルにイメージがあるdockerコンテナを立ち上げることは出来ました。
しかし、新しいdockerイメージを持ってくるような操作をすると「Network timed out while trying to connect」というエラーが出て使えない状況でした。
ネットワークが使えなくなっているのか、ca-certの鍵が古いのか、というあたりが考えられましたが、解決方法がわかりませんでした。


とりあえずこの時点であきらめて、今まで使っていたvagrantを立ち上げようとしたところ、今度は「Intel VT-xが見つからない」というようなエラーが出て、vagrantが動かなくなってることに気が付きました。
下記ページによると、どうもHyper-Vを入れるとVirtualBoxが動かなくなるようです。


Windows 10 で Hyper-VOracle VirtualBox v5.0.0 は両立できない !? – アプリ徹底紹介
http://app-review.poox.xyz/archives/1449


というわけで、もう少しDocker for Windowsが安定して使えるようになるまで様子見することにしました。
まずHyper-Vを「プログラムと機能」→「Windowsの機能」→「Hyper-V」からHyper-Vを外し、Docker for Windowsもアンインストールしました。


こうやれば現バージョンのDocker for Windowsも問題なく使えるよ、というのをご存知でしたら、試してみたいので教えて下さい。