docker勉強中①
2021年のGWももう終わりです。今年のGWは嫁さんの実家に2泊3日したくらいで、あとは近所のスーパーやら商業施設に行ったくらいです。
さて、そんな中、私は開発環境を整えるべくdockerの基礎から学び始めました。使っている書籍はこちらです。
1回中盤くらいまで進めていたのですが、しばらく時間が空いたのでまた最初からやり始めています。この記事を書いている時点では、第5章 コンテナ何のファイルと永続化まで進んでいます。
dockerは本番でも使用予定です。PHPなどのバージョンアップに合わせてどんどん環境をバージョンアップしていきたいんですけども、直インストールだと変更したあと動かないってなった場合に戻すのが面倒だったりしますけど、dockerなら簡単ですしね。
開発環境のコンテナ
ここまで学んだ内容で、開発環境をどうするかなーってのをまとめてみます。
私の開発用PCは、WindowsノートPCにVirtualBoxでUbuntuサーバーを動かして、その中にdockerがあります。
ノートPCの内臓SSDとは別に外付けSSDがあり、Virtual Boxのデータ関係は外付けSSDの方に入れています。
- Apache サーバー
- MySQL サーバー
- MongoDB サーバー
- Memcache サーバー
- Redis サーバー
- MySQLのボリューム
- MongoDBのボリューム
- Redisのボリューム
ソースコードはPC内臓SSDにおいて、Virtual Boxでファイル共有し、バインドマウントします。ApacheやMySQLのログもバインドマウント予定ですが、Apacheのログをどうやってファイルに落とすのかはまだわかってない状況…(調べればすぐでてくるでしょうけど)
MySQL/MongoDB/Redisは1つのボリュームでよくない?って思いつつも、実運用では分けるから開発用も分けちゃいましょう。