Hyper-V を使わずに Windows で Docker

普段から VMware Workstation や Player を使っているため、 Hyper-V による Docker は自分にとって都合が悪かったりします。でも、 Docker による便利な実行環境構築の恩恵は受けたい、というちょっとわがままな願いを叶える方法が見つかったので試してみました。

準備

使用している Windows は Windows10 Professional, 1803 x64 バージョンです。
この環境に、 Microsoft Store から Ubuntu 16.04 をインストールします。

まずは以下の手順で、 Windows Subsystem for Linux (WSL) を有効にします。すでに有効になっている人は不要です。

  • 「設定」 から 「アプリと機能」 を選択します。
  • 関連設定の項目にある 「プログラムと機能」 を開きます。
  • 「Windows の機能の有効化または無効化」 を選択します。
  • “Windows Subsystem for Linux” にチェックを入れます。

無効状態から有効状態にするときには、再起動が必要でした。

続いて Microsoft Store より Ubuntu 16.04 をインストールします。
インストール後、起動させてみます。初回の起動にはしばらくかかるようです。その後、 ユーザーアカウント登録が必要になるので、適当にユーザー名とパスワードの組を入力します。

Docker のインストール

起動した Ubuntu で以下のコマンドを入力します。

ちなみにインストールされた Docker のバージョンは、 “Docker version 17.03.2-ce, build f5ec1e2” となっていました。この状態では Docker のプロセスが正常に起動しなかったので、一度 Ubuntu を終了して、今度は管理者権限付きで Ubuntu を起動します。(右クリックして、その他、管理者として実行を選択します)。

こうして起動した Ubuntu のシェルで、以下のコマンドを実行します。

ps コマンドで確認してみると以下のようになっていれば動いていると思われます。

動作確認

インストールした Docker が使えるかを確認してみます。

Hello,world

Docker の hello-world で動作を確認してみます。
以下のコマンドを実行して、このような結果が表示されればうまく動いているとみてよさそうです。

Nginx

Nginx の docker についても確認してみます。

これではうまく動かないような感じです。しかし、一応 http://localhost:8080/ としてブラウザでアクセスしてみると、 Nginx のページが表示されました。

この問題は、現時点では Issue が発行されているようで、しばらくするとどこかで解決となるかもしれません。

まとめ

Hyper-V なしの状態でも、一応 Docker が使えそうな印象があります。今回、参考にしたのは、 nuits.jp blog さんの Windows Subsystem for Linux(Hyper-Vなし)でDockerを動かす です。自分も同じように Docker だけど Hyper-V 有効にするのはちょっと・・・と思っていたので非常にいい情報でした。

(クライアント)Hyper-V が使えるのは Professional エディション以上でした。 Home エディションでは使えません。ですが、今回の WSL を用いた方式であれば、 Home エディションでも使えるはずです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする