Docker ToolboxをWindows10 homeにインストールする方法

侍エンジニア塾でプログラミングの学習中です。その中で開発環境を構築するフェーズに入ってきました。

Laravelの開発環境をローカルPCに作ることになりました。

それでLaradockというのをインストールすることに。
しかしLaradockの前段階でDockerというのをインストールする必要がある、ということです。

さて、Dockerの公式サイトへ行ってみました。

最近のプログラマーはMacOSを使っているので自然とMac向けのページが増えてきてしょんぼりしています。

Get started with Docker for Windowsのページを探し当てました。
https://docs.docker.com/docker-for-windows/

インストールとダウンロードのページがこちら。
https://docs.docker.com/docker-for-windows/install/

と、その前にDockerの会員登録とログインが必要のようです。

Dockerへの会員登録

①「Please Login To Download」をクリック

②画面下部の「Create Account」をクリック

③必要事項を入力しチェックを入れSign UPをクリック

④認証メールが届くので「Confirm Your Email」

⑤「Get Docker」をクリックしてダウンロード

Dockerのインストールでエラー

ダウンロードファイルを起動してインストール・・・

ぎゃー。

Installation failed: one pre-requisite is not fullfilled
Docker for Windows requires Windows 10 Pro oe Enterprize version

と書いてあるので、自分のマシンはWindows 10 Homeなのでインストールできないみたい。

Windows 10 HomeでもインストールできるDockerが無いか探すか、
Windows 10 Proへアップグレード(約1万5千円)するか検討。

Docker ToolboxでWindows 10 Homeにインストール

Windows 10 Homeなど要件を満たしていないPC向けに公式からDocker Toolboxというのが出ている様子。

https://docs.docker.com/toolbox/overview/

けど、公式からもOS要件を満たしてDocker for Windowsをインストールすることが勧められています。

Windows 10 Proだとハイパーバイザー型で仮想化が出来るMicrosoft Hyper-Vというのが使えて、その上でDockerが動く様子です。

けどWindows 10 HomeにはHyper-Vが無いのでホストOS型でやる、という事なんだと思います。Docker Toolboxの中にOracle VirtualBoxが入ってて、同時にインストールされるのでこの上で動くんだと予想。

あとGit for Windowsというのも入っている。

Docker Toolboxをダウンロードしておきます。

Docker Toolboxをインストール

https://docs.docker.com/toolbox/toolbox_install_windows/

ハードウェア仮想化有効の確認

まずHardware Virtualization Technologyをサポートしているか、有効になっているか確認。

上記ページの中ほどにあるリンクからSpeccyというツールをダウンロードしてインストール。
CPU情報を確認。

VirtualizationがSupported, Enabledになっているので大丈夫だと思う。

Docker Toolboxをインストール

基本的には画面の指示に従って進めていけばOK。

過去にVirtualBoxをインストールしてあるPCの場合は、Docker ToolboxによるVirtualBoxのインストールはしてはいけないので、途中のチェックを外す必要がある様子。

そうでなければ特にチェックを入れたり外すことなく進めていきました。

途中でWindowsの画面が暗転して「プログラムによる変更を許可しますか」みたいな画面が出てきたら「はい」をクリックします。(何度か出る)

インストールが完了しました。

デスクトップに以下3つのアイコンが出ました。

・Oracle VM VirtualBox
・Kitematic(Alpha)
・Docker Quickstart Terminal

Docker Quickstart Terminalを起動

起動時に
.docker\machine\machines\default\config.json: The system cannot find the file specified.
Looks like something went wrong in step Checking status on default … Press any key to continue…

というメッセージが出てどうやら失敗することもありました。
いちどコントロールパネルから今回インストールされたDocker ToolboxやOracle VirtualBoxをアンインストールしてPC再起動したら大丈夫になったことがあります。

基本的にはDocker Quickstart Terminalを起動すれば自動的に始まるようです。

クジラが出てきたらOK。

docker run hello-worldを入力

ターミナルに$マークのプロンプトが出てきたら、コマンドを入力します。

docker run hello-world

で、次のような出力がでれば成功しているとのこと。

$ docker run hello-world
Unable to find image ‘hello-world:latest’ locally
Pulling repository hello-world
91c95931e552: Download complete
a8219747be10: Download complete
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker Engine CLI client contacted the Docker Engine daemon.
2. The Docker Engine daemon pulled the “hello-world” image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker Engine daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

For more examples and ideas, visit:
https://docs.docker.com/userguide/

たぶん成功した。

コマンドを入力してみる

バージョン情報出力

インストール情報の詳細

ダウンロードしたDockerイメージの一覧
先ほどhello-worldのダウンロードが出来てれば以下のように出る。

コンテナの一覧を表示

一通りこれでDocker Toolboxのインストールが完了した・・・のか?

Docker Toolboxでファイル共有

サーバーの仮想化とか、Dockerのインストール関連のときに「ファイル共有」という言葉がよく出てくるけど、詳しく解説してるのがなくて意味がわからなかったけどやっとわかった。

これはWindowsのドライブの中にあるファイル(エクセルファイルとかテキストファイルとか)に、Docker側からアクセスする、という意味。

Docker Toolboxでは、WindowsのC:\Usersへのアクセス権をデフォルトで持っています。

/c/Users

でアクセスできる。cは小文字で、UsersのUは大文字。

cd /c/Usersでアクセスできた。

で、これ以外のディレクトリへはアクセス権が無いので他の場所にプロジェクトを作りたいとかアクセスしたい場合はVirtualBox UIを使ってマウント、ということをやればよいとのこと。

自分は/uc/Users/で作業するのでファイル共有の作業は不要でした。

ここまででDocker Toolboxのインストールが完了。

DockerをWindows10 Homeにインストールする、のまとめ

Docker for WindowsはWindows 10 ProかEnterprizes版じゃないとインストールできない。
Windows 10 ProではHyper-Vが動いているので、そのうえでDockerを動かすことが出来る。

Windows 10 HomeにはHyper-Vが動いていないのでDocker Toolboxというので代用。
(公式にはProへアップグレードが推奨)

Docker ToolboxはWindows 10 Homeにインストールできる。Oracle VirtualBoxやGit for Windowsが同時にインストールされる。

ということで今日は以上です。