391 文字
2 分
Dockerで開発環境管理
概要
様々なバージョンのEC-CUBEを動作確認出来るDocker imageを作りました。
https://github.com/matsubo/eccube-docker
背景
仕事で作っているプロダクトが、様々な環境で動作することを確認でき、開発者が簡単に運用できる状態を作りたい。
アプローチ
ざっくりと以下の手法が考えられる。もちろん排他的では無く、一部は組み合わせも可能。
- VirtualBoxのVMを共有
- EC2のAMIで保持
- Dockerイメージ
- Dockerfile
- Vagrant
今回は、「LAMP + EC-CUBEダウンロード」と、「簡単に起動して捨てられるようにしておきたい事」を優先してDockerfileでの管理を選ぶ。
(Docker hubにも登録済み)
使い方
- README
- Docker hubからpullするより、buildした方がCDNからかき集められるので速いかと思います。
https://github.com/matsubo/eccube-docker/blob/master/README.md
- Docker hubからpullするより、buildした方がCDNからかき集められるので速いかと思います。
上記のREADMEを行うためのスクリーンキャスト作ってみました。(iMovieの練習のために)
https://www.youtube.com/watch?v=ki0bbfwqgSg
もし、Docker Imageに変更を加えたければ、上記のImageにどんどん変更を加えていけば良いです。Docker hubでバージョン管理されますし、Imageに変更を加えた差分だけをpullすることが出来るので2回目以降は低コストに差分を取り込むことが出来ます。
まとめ
- Dockerは概念がちょっと複雑なので、慣れるまで大変でした。
- Vagrant + Dockerfile + Serverspec + CIで将来的にはTDD出来そうな気がする
- Docker hubとの接続が遅い
Dockerで開発環境管理
https://blog.teraren.com/posts/docker-dev-server/