こんにちは、せぃゆーです。
DockerがTwitterのトレンド入りしてるみたいなので普段使っている環境を晒そうと思います。
- 本番では使わないでください
- Dockerの1コンテナ1プロセスを無視している部分もあります
- 使う場合は自己責任でお願いします
いつも使っているDocker環境
GitHub - seiyu-nico/php_dev
Contribute to seiyu-nico/php_dev development by creating an account on GitHub.
私はいつもこれを使っています。
コンテナの種類
- php: PHPの実行コンテナ
- node: JavaScriptやsassのコンパイル用コンテナ
- dnsmasq: PHPコンテナ内からのlocalhostでのcurlの名前解決用
- nginx: Webサーバ
- db: データベースサーバ
- pma: PhpMyAdminサーバ
- redis: Redisサーバ
- https-portal: ローカル環境でssl環境を提供してくれるサーバ
- mail: Mailhogサーバ
私の環境では9コンテナで成り立っています。
ほとんどのコンテナは大体何をしてるかわかると思うので、わかりにくいコンテナのみ説明します。
詳細はREADMEにも書いてあります。
(個人的に使っていたものなので詳しくは書いてないですが…)
nginxコンテナ
nginxコンテナはサブドメイン.localhostによるNameVirtualHostを提供してくれます。(本来のDockerの使い方とは違う気もするが、個人用なので気にしない)
conf/nginx/vhosts内に設定ファイルを追加するだけで新しいサブドメインが作れるので便利です。
dnsmasqコンテナ
nginxコンテナでサブドメイン.localhostを提供しているので、phpコンテナからcurlするときにサブドメイン.localhostだとphpコンテナ自身を見てしまいます。
そのため、phpコンテナ内からcurlをリクエストするための名前解決を行ってくれます。
まとめ
Dockerがトレンド入りしてるので、なんとなく書きました。
本来のDockerの使い方と乖離している部分があるのでは、あくまで個人的な開発用のものなのでその辺は無視してください。
また、まだまだ改良の余地があると思うので、絶対に本番での利用はしないでください(責任はとれません)
私自身も開発はDockerで行いますが、本番では使ってないです。
この記事を書いている時にはもうトレンドには乗ってないですが、さくっと書いてみました。
少しでも役に立った。こうしたほうがいいよなどの意見がありましたら、Twitterでフォロー/声をかけてもらえると嬉しいです。
コメント