XAMPPを使った開発に疲れ、Vagrantを勉強してたらWEB業界の流れは早いもので、Dockerとやらがすごい勢いで流行ってました。
「乗るしかない このビッグウェーブに!!」という事で、今回はDockerコンテナを使ってFuelPHPの開発環境をドカドカ構築する方法を紹介します。
今回の実験環境はWindows7です。
(わざわざ茨の道を行かずに本来はMacとかでやるべきです)

STEP1: Docker(Boot2Docker)のインストール

Dockerのインストールについては既に素晴らしいブログ記事があるので、それを参考にインストールを完了させてください。
↓↓↓
[Docker 1.0が出たし、Windows(x64)でDockerが使えるようになりました]

インストールが完了したら、Boot2Docker Startのショートカットで起動!
boot2docker
クジラのAAとご対面できたらBoot2DockerのIPを確認。

ifconfig eth1

※このIPを次のステップで必要になるので記録しておいてください。

STEP2: Dockerfileの用意

FuelPHPを実行するベースとなるLAMP環境の構築は、こちらのブログ記事を参考に作成しました。
[これから始める「DockerでかんたんLAMP環境 for CentOS」]
※ほとんどそのまま利用してます。

Dockerfileを以下のGitHubリポジトリからクローンし編集します。

git clone https://github.com/takaya-yoshida/docker-centos6-fuelphp.git
cd docker-centos6-fuelphp/
sudo vi Dockerfile

4行目の __YOUR_IP_ADDRESS_HERE__ の部分にステップ2でコピーしたIPを設定します。
5行目の __YOUR_PASSWORD_HERE__ の部分にお好きなパスワードを設定します。
※このパスワードはSSHやmysqlのパスワードとして利用されます。

STEP3: ビルド~!一発

続いて以下のコマンドを実行。

sudo docker build -t centos6:fuelphp .

Successfully built ‘イメージID’ が表示されるまで、コーヒーでも飲みながらしばらくお待ちください。

出来上がったイメージを元にコンテナを起動します。

sudo docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 centos6:fuelphp /usr/bin/monit -I

STEP3: FuelPHPの実行

ブラウザで http://Boot2DockerのIP:10080/ にアクセス。
いつものWelcomeページが表示されたら完了です。
fuelphp
※実用的な開発環境にするにはもう少しphp.iniの変更が必要です。

STEP3: おまけ

今回がはじめてのDocker体験だったのでDockerfileの作成で何度も失敗しました。
しかし怪我の功名でdocker buildが差分管理されており変更点から再構築されることを体験出来ました。
Dockerのお陰でサーバ構築がお手軽すぎてドカドカ起動してたらdocker ps -aの結果がカオスすぎてヤヴァいです。

それでは良い、Docker/FuelPHPライフを!!