Windows 7でDockerToolBoxを使った

OpenAMをシュッと構築する必要があって、Dockerでやりたかったのでやってみたメモ。

  • まずDockerToolboxを入れる。
    • 付属のVirtualBoxバージョンによっては動かない。たとえば5.0.2だとダメだった。(Docker Quickstart TerminalでVMが起動せずDockerコマンドが役に立たない。)
    • 一度DockerToolboxをアンインストール
    • VirtualBoxを公式から5.0.4をダウンロードしてインストール
    • その後、DockerToolbox付属のVirtualBoxは含めずにインストールする
    • でも現在最新の1.8.2cはVirtualBox 5.0.4らしいのでそのままでも動くと思う。
  • このVMSSHで繋げる。ポートはVirtualBoxにdefaultという名前のVMがあるのでそのポートフォワード設定を確認する。
    • ID/Passwordはdocker/tcuser
  • OpenAMのナイトリービルド版を立ち上げるためものがDocker hubに上がってるのでそのまま使える。
    • docker run -d -p 8080:8080 wstrange/openam-nightly bash
      • bashで起動するのはまぁ色々やりたかったので。
    • docker ps -q | awk '{print $1}' | head -n 1 | xargs docker attach
      • /tmp/run-openam.sh &
      • /usr/local/tomcat/webapps/openam が展開されるのでごにょごにょする。viとかないのでsedで頑張る
      • kill $!; /tmp/run-openam.sh &
      • [C-p][C-q]でデタッチできる
  • 起動後、ポートフォワード設定を忘れずに。(気づくまでに一番時間がかかった)
    • [ホスト(Windows7)]-->[VM(CoreOS?)]-->[Container(tomcat)]という感じでつながっている。
    • ホストとVM間は繋がってないので、ポートフォワーディングで繋げる必要がある。
    • VMとContainer間はdocker runのオプション"-p 8080:8080"でマッピングできているのでOK。

簡単に用意できるのはいいんだけど、設定を元に戻されたりするのが辛いなぁ。
構成管理ツール使えって話なんだろうけど、ansibleは使っててイライラしちゃったし、chefは重そうだし、うーん。