ここのところずっとvagrant+ansibleでやってたんですが、最近なにかとdockerいいよってのを見せつけられて、やっぱこれからはdockerだよね、ってなってました。
が、Windows環境ってdocker使いにくいですよね。
Docker for Windows使えばいいんでしょうが、まずHomeでは使えないのでProじゃないといけないし、Hyper-Vを効かすとVirtualBoxが使えなくなるためvagrantとの共存ができなくなるとか色々不都合があります。
というわけで、あえてDocker for Windowsは使わずに、VirtualBox上で動くDockerToolboxを使うようにしています。
でそれはいいのですが、DockerToolboxは自動的に起動してくれないので、コンソール開いてdocker〜と打つ前にDocker Quickstart Terminal開いてdocker用のVMを起動してやる必要がありました。それがなんかなあと。
あと、Windowsを終了するときも意識的にdockerのVMを落としてやる必要があります。
DockerToolboxをWindows起動時に立ち上げる方法ないの?と思って探したところ、DockerToolbox自体にはないけどVBoxHeadlessTrayを使うと自分の望みどおりの動きをしてくれることがわかりました。
VBoxHeadlessTrayはタスクトレイからVirtulBoxのVMを操作出来るようにするツールで、Windows起動時に一緒にVMを起動したり、シャットダウン時には勝手に終了させてくれる機能があるのです。
VBoxHeadlessTray - Topten Software
インストールすると最初に「Select Machine」と言われてどのマシンを起動するか選びます。
DockerToolboxは「default」という名前で入るのでそれを選んで「Power on machine」をチェックしておくと、起動時にdockerのVMも一緒に立ち上げてくれます。
これ、間違って設定しちゃった時にどうやって設定変更するんだろう?
(追記)
コメントでa13さんから教えていただきました。
自動起動する仮想マシンを変えたいとき、あるいは自動起動をやめたいときは、システムトレイから一旦VBoxHeadlessTrayを終了させて、もう一度普通に起動すると対象マシンの選択画面が出るとのこと。
これでWindowsでも起動時点からdockerが使えるようになりました。
(関連)
NYAGOSからDockerを使う設定 - モーグルとカバとパウダーの日記
Docker for Windowsオープンベータのインストールと問題点 - モーグルとカバとパウダーの日記