Docker for Windows利用メモ

事前準備

Windows 10 Proを購入しましょう。

Docker for Windows

Hyper-Vの有効化

Docker for windowsを利用するにはHyper-Vを有効化する必要があります。

Install Hyper-V on Windows 10 | Microsoft Docs

インストール

アプリは公式サイトからダウンロードしてインストールします。

Get started with Docker for Windows - Docker

共有フォルダの設定

Docker for WindowsはボリュームのマウントにSambaを利用するため、以下の設定が必要です。 トレイを右クリックして Settings... > Shared Drives から マウントに使うパスを設定します。 一番上のフォルダが設定されていれば、配下のどこのフォルダもマウントできるので、特にこだわりがなければ C でよいと思います。(2016.12.26削除: できなかった、、)(この設定だとCドライブが丸々SambaWindowsの共有フォルダになってしまうのでセキュリティが気になる人はもっと絞った場所が良いと思います。)

f:id:fly1tkg:20161221010610p:plain

利用してみた感想

LinuxMacで動かしたときよりはインタラクティブモード周りがちょっとイケてない感ありますが、Ruby on Rails開発は一通りできる感じです。

Docker for Macよりは共有フォルダのアクセス速度が体感で早いと思いました。(Windowsのほうが設定がやや面倒ですが)

備考

Cygwinからdocker execを利用する

docker execをするときにCygwinからだとうまく動作しないのでwinptyを挟んで実行できるようにします。

winpty docker exec -it 123 bash

docker-compose run がインタラクティブに使えない

-d オプションで使うこともできますが、使い勝手が悪かったので、 docker-compose up した状態で docker execbashにはいって必要なことをしています。

buildなどで異様に時間かかってるときウイルス対策ソフトのリアルタイムスキャンをOffにする(2016.12.26追記)

Hyper-Vマネージャを開いてDockerのVMCPU使用率が0%なのに、build等が遅い場合はウイルス対策ソフトのリアルタイムスキャンがボトルネックになっている場合があります。

タスクマネージャーを開いて、リアルタイムスキャンのプロセスのCPU使用率が上がっていたらそうだと思います。

一時的にリアルタイムスキャンをOffにすることをおすすめします。