LoginSignup
9
8

More than 5 years have passed since last update.

Boot2Docker with Fig on Windows

Last updated at Posted at 2015-02-01

目標

複数のDockerコンテナをfig.yml設定ファイルでまとめて管理するため、WindowsにインストールしたBoot2Dockerでfigを使えるようにしたい。だが、figの公式サイトにはLinux/Mac用のインストールだけ説明されていて、Windowsの場合はどうすればいいか書かれておらず、Windowsの公式サポートはまだないよう。

解決策

figの入ったDockerコンテナイメージをダウンロードして起動するスクリプトを、Boot2Dockerの仮想OSの永続フォルダ内に作る。

前提

  • Boot2DockerをすでにWindowsにインストール済み。
  • UNIXではなくあえてWindowsでDockerをどうしても使いたいというひねくれ精神

手順

1) Boot2DockerをWindowsにインストールするとデスクトップに作成される「Boot2Docker Start」ショートカットをダブルクリックし、仮想OS内のターミナルにログイン。
2) 下記スクリプトを/var/lib/boot2docker/bootlocal.shとして作成。
$ sudo vi /var/lib/boot2docker/bootlocal.sh

/var/lib/boot2docker/bootlocal.sh
echo 'alias fig='"'"'docker run --rm -it \
        -v $(pwd):/app \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -e FIG_PROJECT_NAME=$(basename $(pwd)) \
        dduportal/fig'"'" >> /home/docker/.ashrc

$ sudo chmod +x /var/lib/boot2docker/bootlocal.sh

3) これでsource ~/.ashrcと打てば、figコマンドが打てるようになる。fig --versionが動けば完了。

これで下記のBoot2Docker+figのチュートリアルをWindowsでも実行できるようになった。/home/docker/直下とか適当なディレクトリにDockerfilefig.ymlファイルを作成してfig run ...するだけで複数のDockerコンテナを一括で起動できる。

Docker1.3版 boot2docker+fig入門
Getting started with Fig and Rails
figを使ってDockerのクラスタを作り出す

/var/lib/boot2docker/ディレクトリ内であれば、Boot2Dockerの仮想OSを再起動してもファイルは削除されない。再起動したら

$ sudo /var/lib/boot2docker/bootlocal.sh
$ source ~/.ashrc

でfigのaliasを再作成すればよい。

参考

Windows 7 with boot2docker support for fig #598
https://github.com/docker/fig/issues/598#issuecomment-67762456

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8