takaya030の備忘録

PHP、Laravel、Docker などの話がメインです

docker-machine で Windows 上に docker 環境を構築する

Windows で docker を使う場合、boot2docker が定番ですが今回は docker-machine を使って環境構築してみました。

VirtualBox のインストール

以下のサイトから最新の WindowsVirtualBox をダウンロードしてインストールします。

msysgit (Git for Windows) のインストール

Windows 用の docker 関連のコマンドは msysgit のシェル上で動作させます。
以下のサイトから msysgit をダウンロード、インストールします。

docker 関連コマンドのインストール

msysgit のシェル上で以下のコマンドを入力します。

$ curl -L https://get.docker.com/builds/Windows/x86_64/docker-1.8.1.exe > /bin/docker
$ curl -L https://github.com/docker/machine/releases/download/v0.4.1/docker-machine_windows-amd64.exe > /bin/docker-machine

動作確認

$ docker -v
Docker version 1.8.1, build d12ea79

$ docker-machine -v
C:\Git\bin\docker-machine version 0.4.1 (e2c88d6)

docker ホストマシンの VM 作成

docker-machine create でホストマシンを作成します。デフォルトではメモリ 1GB、ストレージ 20GB とサイズが小さいので今回はメモリ 2GB、ストレージ 40GB のVMを作成します。

$ docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 2048 --virtualbox-disk-size 40000 dev
INFO[0001] Downloading boot2docker.iso to C:\Users\takaya030\.docker\machine\cache\boot2docker.iso...
INFO[0100] Creating SSH key...
INFO[0100] Creating VirtualBox VM...
INFO[0121] Starting VirtualBox VM...
INFO[0124] Waiting for VM to start...
INFO[0175] "dev" has been created and is now the active machine.
INFO[0175] To point your Docker client at it, run this in your shell: eval "$(C:\Git\bin\docker-machine env dev)"

ホストマシンの動作確認

$ docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM
dev    *        virtualbox   Running   tcp://192.168.99.100:2376

docker-machine ssh でログイン

$ docker-machine ssh dev
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015

Docker version 1.8.1, build d12ea79

備考

  • (2018/03/22) VM 作成時の --virtualbox-cpu-count オプション追加
  • (2015/11/07) インストールする docker 関連コマンドのバージョンを変更