今更ながらにコンテナ開発を理解したいとおもい、Dockerを試してみました。
最近は単独での開発で済んでいたので、VirtualBoxで足りており、Dockerで開発環境を作る必要がありませんでした。
そろそろコンテナ開発を本気で勉強しておこうとおもい、今更ながらに試しに使ってみました。
Dockerのメリット
今ではDockerを使うのがあたりまえみたいな感じになっていますが、そもそも使うことでどんなメリットがあるのかを自分なりにまとめてみると、
- 同一の開発環境を複数人に簡単に提供できる
- 開発環境、テスト環境、本番環境を揃えることができる
- Infrastructure as Codeを実践できる
- 開発からリリースまでを全てをコンテナ単位で管理できる
と言った感じでしょうか。
その辺の概念などはAWSなどが無料でYoutubeやe-learningを提供してくれているのですが、実際にDockerなどを使って実践しようと思うとなかなか情報を見つけるのに苦労したりというのがありました。
Dockerの基本構成
Dockerをインストールすると、仮想OS上に様々なものがインストールが完了した状態で利用することができるようになります。
例えば、Ubuntu上にWordPressが入った状態で使えるとか、CentOS上にLaravelが入った状態で使えるとか。
仮想OSはDockerImageという形でインターネット上で様々な方が提供してくれています。
また、自分なりの初期設定を施した仮想OSを作ることもできます。
そのためにはDockerFile内にインストールコマンドなどを記載してDockeImageを生成する必要があります。
Dockerをまずはインストールしてみる
まずは以下のページをDockerをインストールして、仮想OSとしてCentOSを動かしてみました。
結構簡単にDockerImageを手に入れたり、独自のDockerImageを作ったりできます。
仮想OS上でApacheを動かしてみる
仮想OS上でApacheを動かすと、ブラウザからどうやってアクセスしたらいいんだろう?という疑問があったので、Apache+phpが動くDockerImageを以下のページを参考に作ってみました。
こちらも結構簡単に行えました。
(探せば、phpが動くapacheサーバのDockerImageはいくらでもあるでしょう。)
まとめ
今の所、私の現状を考えるとVirtualBoxから移行する手間を考えると大きなメリットがありませんが、VirtualBoxよりも非常に軽い印象があります。
どこかのタイミングで少しずつ移行してみようかとおもいます。