カテゴリ: CodeIgniter 更新日: 2026/07/23

CodeIgniterをDockerで構築!docker-composeを使った環境構築完全ガイド

CodeIgniterでdocker-composeを使った環境構築方法
CodeIgniterでdocker-composeを使った環境構築方法

先生と生徒の会話形式で理解しよう

生徒

PHPのフレームワークであるCodeIgniterを使ってWeb開発を始めたいのですが、環境構築が難しそうで不安です。

先生

初めての環境構築は誰でも緊張するものですね。そんな時に役立つのがDockerというツールですよ。

生徒

Dockerを使うと、何がそんなに楽になるのでしょうか?

先生

難しい設定ファイルを毎回書かなくても、docker-composeという仕組みを使えば、パソコンの中に仮想的な専用の部屋を簡単に作れるんです。一緒に見ていきましょう!

1. Dockerとdocker-composeの基本を学ぼう

1. Dockerとdocker-composeの基本を学ぼう
1. Dockerとdocker-composeの基本を学ぼう

プログラミングの世界で「環境構築」というのは、自分のパソコンという土地に、プログラムを動かすための建物や設備を整える作業のことです。もしパソコンを「部屋」と例えるなら、Web開発をするには「Webサーバー」や「PHP」という家具が必要です。

通常、これらを一つずつインストールするのは大変ですが、Docker(ドッカー)という技術を使うと、必要なものがすべて揃った「箱」をそのまま持ち込むことができます。この「箱」をコンテナと呼びます。そして、複数のコンテナ(PHPやデータベースなど)をまとめて、一つの指示書で動かせるようにしたのがdocker-compose(ドッカーコンポーズ)です。これを使うことで、初心者でも迷わずにCodeIgniterの開発環境を整えることができます。

2. プロジェクト用のフォルダを作成しよう

2. プロジェクト用のフォルダを作成しよう
2. プロジェクト用のフォルダを作成しよう

まずは、パソコンの中に自分のプログラムを置くための専用の基地を作りましょう。適当な場所にフォルダを一つ作ってください。名前は何でも良いですが、今回はわかりやすく「my-codeigniter-app」という名前にします。

このフォルダを開いたら、まずは環境の設計図を書くために「docker-compose.yml」という名前のファイルを新規作成します。この「.yml」という拡張子は、設定内容を記述するための形式で、Dockerはこのファイルを読むことで、どのような設定でサーバーを立ち上げればよいかを判断します。

3. docker-compose.ymlに設定を書き込もう

3. docker-compose.ymlに設定を書き込もう
3. docker-compose.ymlに設定を書き込もう

それでは、docker-compose.ymlの中に、PHPとWebサーバーの設定を書いていきます。ここでは、PHPの実行環境である「PHP-FPM」と、Webサーバーである「Nginx(エンジンエックス)」を準備する記述をします。Nginxは、ユーザーからのアクセスを処理してWebサイトを表示させる、いわば「受付係」のような役割を持つソフトです。


version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./app:/var/www/html
  php:
    image: php:8.2-fpm
    volumes:
      - ./app:/var/www/html

このように記述することで、ポート番号8080を指定してアクセスすれば、パソコン上の8080番にブラウザからアクセスするだけで、準備したプログラムが表示されるようになります。

4. CodeIgniterのプログラムを配置しよう

4. CodeIgniterのプログラムを配置しよう
4. CodeIgniterのプログラムを配置しよう

次に、CodeIgniter本体を準備します。先ほど作成したフォルダの中に「app」という名前のフォルダを作ってください。これが、実際にプログラムのコードを書き込んでいく場所になります。CodeIgniterの公式サイトから最新版をダウンロードして、解凍した中身をこの「app」フォルダに配置します。

CodeIgniterは、MVCモデルという考え方で構成されています。MVCモデルとは、画面を表示する担当(View)、計算やルールを決める担当(Controller)、データを管理する担当(Model)を分けることで、プログラムを整理整頓しやすくする仕組みのことです。この構成を守ることで、大規模なWebサイト開発でも混乱せずに作業ができます。

5. コンテナを起動して動作確認をしよう

5. コンテナを起動して動作確認をしよう
5. コンテナを起動して動作確認をしよう

設定が終わったら、いよいよ起動です。コマンドプロンプトやターミナルという、キーボードで操作する黒い画面を開き、作成したフォルダまで移動します。そこで以下のコマンドを入力します。


docker-compose up -d

このコマンドを入力すると、Dockerが自動的に必要なソフトをダウンロードし、環境を構築してくれます。完了したら、ブラウザのアドレスバーに「http://localhost:8080」と入力してみましょう。CodeIgniterのようこそ画面が表示されれば成功です!エラーが出る場合は、ファイル構成やポート番号の設定が合っているか確認してください。

6. 初めてのページを表示するコードを書いてみよう

6. 初めてのページを表示するコードを書いてみよう
6. 初めてのページを表示するコードを書いてみよう

無事に環境が動いたら、次は自分だけのページを作ってみましょう。CodeIgniterでは「コントローラー」というファイルを作ることでページが増やせます。「app/Controllers/Home.php」を開いて、少しコードを書き換えてみましょう。


public function index()
{
    echo "<h1>こんにちは、CodeIgniter!</h1>";
    echo "<p>これは私の初めてのページです。</p>";
}

このコードを保存して、もう一度ブラウザを更新してみてください。画面に文字が表示されましたね。これがWeb開発の第一歩です。ここから、条件分岐をさせたり、データベースから情報を引っ張ってきたりと、様々な機能を追加していくことができます。

プログラミングでは、一つひとつ小さな成功体験を積み重ねることが非常に大切です。環境構築で挫折してしまってはもったいないので、Dockerのように「動く環境」を先に作ってしまう手法は、とても理にかなっています。ぜひ、この環境を使って自分だけのオリジナルWebアプリケーション開発を楽しんでください。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルートとコントローラを対応付ける方法(名前付きルート)を初心者向けに解説
New2
Symfony
Symfonyで画像やファイルをアップロードする時のバリデーション完全ガイド!初心者でもわかる入力チェックの基本
New3
Laravel
Laravelで言語切替UIを作る!多言語対応(ローカリゼーション)実践ガイド
New4
CodeIgniter
CodeIgniterでローカル開発環境を構築する方法!初心者向け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CodeIgniter
CodeIgniterのキャッシュ管理を完全ガイド!初心者でもわかるメリットと注意点
No.2
Java&Spring記事人気No2
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
No.3
Java&Spring記事人気No3
Laravel
Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説
No.4
Java&Spring記事人気No4
CodeIgniter
CodeIgniterとは?特徴・できること・他PHPフレームワークとの違いを完全解説
No.5
Java&Spring記事人気No5
Laravel
Laravelローカリゼーション入門!言語の取得と切り替え(App::getLocale / setLocale)を徹底解説
No.6
Java&Spring記事人気No6
Laravel
Laravelのルーティングの基本構文と書き方をやさしく解説!初心者でも理解できるWebルートの仕組み
No.7
Java&Spring記事人気No7
Laravel
Laravelの条件分岐とループ処理をBladeで書く方法
No.8
Java&Spring記事人気No8
Symfony
TwigのHTMLエスケープとrawフィルタの使い方を完全解説!初心者にもわかるテンプレート表示のコツ