生成AIを使ってDocker+Laravelの環境を1日で作りました

この記事は「ウィルゲート Advent Calendar 2025」の 22 日目の記事です。 adventar.org

インフラユニット所属の野中です。

本記事では、Laravelでアプリケーション開発を手軽にするためのDockerのテンプレートとサンプルアプリを個人で作成したので、どのような手順で作成したのか説明していきます。
アプリケーションは大体作れるけどインフラ構築が手間だと思っている方は特に読んでみてください!

はじめに

昔オンラインのエンジニアコミュニティに参加していて開発を始めるまでのハードルが高いという話を聞くことがありました。
そのハードルが高いと感じる理由で一番多かったのが、「Dockerが分からないため、最初の環境構築が難しい」というものでした。

その話を聞くたび、インフラに興味を持っている人ならともかくとして、アプリを開発を作りたいのに本質ではない部分で詰まってしまうのは勿体ないと感じていました。
そこで試しに、生成AIを使ってみたらDockerに詳しくなくても簡単に環境構築ができたので、その方法を共有できればと思います。

時間をかけないようにするポイント

生成AIで環境構築するときは

  1. docker-compose.yml
  2. 各コンテナの Dockerfile
  3. 各設定ファイル

の順で作成するのがおすすめです。
理由は、設定のカスタマイズ等をしない最小限の構成であれば docker-compose.yml のみで一旦は動作する環境を作成することができるからです。
しかし、このままでは汎用性に乏しく、開発途中で構成を変更したくなったときに辛くなってしまいます。
そのため、 docker-compose.yml の作成が終えたら、各コンテナの Dockerfile と 設定ファイル の作成まで完了させることをおすすめします。

質問の投げ方は、
「〇〇の言語/フレームワークを使った環境をM1 MacのDockerで構築して。まずは1つの docker-compose.yml で完結するようにして」

のようにシンプルなもので十分です。

※ Dockerを動作させる環境を指定しておくと、アーキテクチャ起因によるトラブルを回避することができるのでおすすめです。

工夫したこと

Docker の基本思想である1コンテナ1プロセスに則って構成することです。
正直PHPであればコンテナを分離せず、1つに集約しても良いですが、汎用性を持たせるために敢えて分割しています。
例えば、HTTPサーバーを Apache から nginx に置き換えたいときも簡単に対応することが出来ます。
また、サービスごとにログが出力され追いやすいため、トラブルシュートが簡単になるのもメリットです。

他にはわざと設定ファイルを作成していることです。
大体のミドルウェアは基本の設定が用意されているため、設定ファイル無しでも環境構築できますが、あると環境の複製やカスタマイズがしやすいので用意しておくと便利です。

生成AIに任せて作った開発環境

今回私が生成AIで作成した環境を簡単に紹介します。

インフラ構成の基本であるWebシステムの3層構造のプレゼンテーション層(Apache)、アプリケーション層(PHP)、データベース層(MySQL)で分離しています。

プロジェクトの全体ディレクトリは以下のようになっています。

├── .env
├── .gitignore
├── README.md
├── docker-compose.yml
├── docker/
│  ├── apache/
│     ├ Dockerfile
│     ├ apache.conf
│     ├ vhost.conf
│  ├── php/
│     ├ Dockerfile
│     ├ php.ini
│  └── mysql/
│     ├ Dockerfile
│     ├ my.cnf
└── src/
    ├── (laravelのファイル・ソースコードなど)

※ 例えば今後Node.jsなど別のコンテナを追加したい場合、 docker 配下に node のコンテナを追加すれば良い。

開発環境を使ってやったこと

上記で説明した環境を使って、ゲームの戦績を管理するアプリを作成しました。
なお、アプリケーションのコードも生成AIで作成していて、今回は愛用している Perplexity に作ってもらいました。
※ 特に環境を修正すること無く、期待通りにアプリケーションが動作してくれました。

まとめ

AIでアプリケーションを簡単に作れる時代が来て久しいですが、インフラがあればもはや無限に作れるのでは?と考えて試してみましたが、それっぽい環境が2日くらいで作れたのでかなり感動しました。

改善点はまだまだたくさんあるので、ぜひ皆さんも生成AIで簡単に環境構築してみてください!

ウィルゲート Advent Calendar 2025」、翌日はことみんさんの「提案には準備が大事!「これでいいですか?」をより良くするために」です!