Docker Toolbox on Windowsをインストールしてみた

WindowsにもDockerをインストールしてみる

Windows10 Pro でないとDockerが動かない?

Windows10 Pro でないとDockerが動かない

Docker Toolbox on Windowsというものがあるらしい

Windows10 Pro でないとDockerが動かない
Install Docker Toolbox on Windows

環境の確認

「タスクマネージャー」の「パフォーマンス」タブの「仮想化」が有効になっていないとDocker Toolbox on Windowsはインストールできない
環境の確認

早速ダウンロードしてインストールしてみる

Install Docker Toolbox on Windowsの「Get Docker Toolbox for Windows」のリンクをクリックすると、DockerToolbox.exeがダウンロードできるので、それを起動する

インストールはボタンをポチポチ押していくだけ

  • Step01
    Step01

  • Step02
    Step02

  • Step03
    Step03

  • Step04
    Step04

  • Step05
    Step05

  • Step06
    Step06

簡単にインストールできた

Docker Toolbox on Windowsを動かしてみる

デスクトップにある「Docker Quickstart Terminal」をダブルクリックして起動する
Docker Quickstart Terminal
しばらく待っているとあっさり動いた

動作確認してみる

$ docker version
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24302
 Built: Fri Mar 23 08:31:36 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.06.0-ce
  API version:  1.38 (minimum version 1.12)
  Go version:   go1.10.3
  Git commit:   0ffa825
  Built:        Wed Jul 18 19:13:39 2018
  OS/Arch:      linux/amd64
  Experimental: false
$ docker run -it --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9db2ca6ccae0: Pull complete
Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
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 client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

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

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

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

あっけなく動いた

ハマりどころ

Docker Toolbox on Windowsは、Oracle VM VirtualBoxをインストールしてその中でDockerの仮想マシンを動かす仕組みなので、それなりにハマりどころもある

シャットダウン(再起動)をするとき

ホストとなっているWindowsをシャットダウン(または再起動)をするときには、Dockerの仮想マシンをシャットダウンしておく

$ docker-machine stop

Docker runの”-v”オプションでホスト側の任意のパスをコンテナにマウントするとき

Docker Toolbox on WindowsではDocker runの”-v”オプションだけではホスト側の任意のパスをコンテナにマウントすることはできなかった(C:\Usersは除く)

任意の場所をマウントするには

  • Docker Toolbox on WindowsでインストールされたOracle VM VirtualBoxの仮想マシンに必要なパスを共有フォルダとして設定する
    任意の場所をマウントする
    c/Usersは予め登録されている共有フォルダ
    →なのでC:\Usersは”-v”オプション/c/Usersでマウントできる
    任意の場所をマウントする

  • Docker Toolbox on WindowsでインストールされたOracle VM VirtualBoxの仮想マシンを再起動させる

$ docker-machine reboot
  • ”-v”オプションを付けてコンテナを実行する
$ docker run -it --rm -v /c/host:/host ubuntu:18.04 /bin/bash

まとめ

  • Dockerを軽く体験するにはよさそう
  • Dockerの仮想マシンが間に挟まるので、いろいろハマりどころもありそう
  • Windows10でDockerを常用するならWindows10 Proにアップグレードした方がよさそう
    →面倒事はお金で解決することにしよう