PHPの代表的なフレームワークのひとつであるLaravel(ララベル)をつかってX(旧Twitter)のクローンをつくってみたいとおもいます。トータルでみるとけっこうな超大作になりますが、お付き合いいただければエンジニアとしてとてもレベルアップできるのではないかと思います。
まずはここではnginxのコンテナがあがるところまでやってみましょう〜。
必要最低限の準備
Windows環境の方
- WSL2のセットアップ
- Ubuntuが動いていること
- Ubuntu上でdockerが動いていること
Mac環境の方
- Termina.appがどこにあるかわかって起動できること
- ITermでも大丈夫
- Docker Desktop for Mac
プラットフォーム共通
composerの最新版をインストールしておきましょう。

composerのインストール方法
composerのインストール方法
composerはPHPのパッケージ管理ソフトです。便利なライブラリをcomposer install xxxだけで利用できるようになるスグレモノです。近年のPHPプロジェクトで使わないプロジェクトがあるんでしょうかというぐらいデファクトス…
composerはPHPのパッケージ管理ソフトです。便利なライブラリをcomposer install xxxだけで利用できるようになるスグレモノです。近年のPHPプロジェクトで使わないプロジェクトがあるんでしょうかというぐらいデファクトス…
Laravelプロジェクトを作成する
作業ディレクトリをつくる
# 作業ディレクトリをつくる
mkdir -p ~/development && cd $_
# laravelファイルをcomposer経由でとってくる
composer create-project laravel/laravel twitter-clone
# dokckerのファイルもつくるのでいったんsrcディレクトリに変更
mv twitter-clone src
# docker用のディレクトリをつくる
mkdir -p twitter-clone/docker
# 移動させる
mv src twitter-clone/
cd twitter-clone
# lsコマンド実行して以下のようになっていればOK
ls -al
[hoge@localhost twitter-clone]$ ls -al
total 0
drwxr-xr-x@ 4 hoge staff 128 6 3 12:48 .
drwxr-xr-x@ 33 hoge staff 1056 6 3 12:48 ..
drwxr-xr-x@ 2 hoge staff 64 6 3 12:48 docker
drwxr-xr-x@ 24 hoge staff 768 6 3 12:47 src
![]() | 開発系エンジニアのためのDocker絵とき入門 [ 鈴木亮 ] 価格:3080円 |

![]() | 仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん [ 小笠原種高 ] 価格:2992円 |

dockerのセットアップ
dockerの構成を考える
ここでは、Laravelの初期画面を表示するだけですのでnginxとphp-fpmのコンテナがあれば十分です。nginxはWEBサーバのソフトウェアでphp-fpmはfastcgiを実行するためのソフトウェアです。PHPを実行してブラウザに実行するにはこの2つが必要とまずは覚えておいてください。
dockerが全く初心者だという方はまずは過去に書いた記事を参考にしてだいたいをつかんでみてください

まずはdockerコンテナを上げる_docker入門
まずはdockerコンテナを上げる_docker入門
よく聞くけどdockerって何?あくまで初学者向けということで細かいことは省略しますが、ひとことでdockerというと今動いてるOSの上で仮想的にもうひとつどころか複数のOSをかんたんに軽く動作させるためのソフトウェアです。Windowsの…
よく聞くけどdockerって何?あくまで初学者向けということで細かいことは省略しますが、ひとことでdockerというと今動いてるOSの上で仮想的にもうひとつどころか複数のOSをかんたんに軽く動作させるためのソフトウェアです。Windowsの…
docker-compose.ymlを作成する
cd docker
touch docker-compose.yml
vi(m)エディタがつかえるとよいのでしょうけど、VSCodeや他のテキストエディタで大丈夫です。docker-compose.ymlを開きます
docker composeでnginxを立ち上げる
docker-compose.ymlを以下のように書いてみてください。ymlのインデントはタブではなくてスペースですのでご注意ください。
name: twitter-clone
services:
web:
container_name: twitter-web
image: nginx:latest
ports:
- "9999:80"
これで保存して
docker compose up -d
とコマンドを実行してしばらくまつと、twitter-webというnginxのコンテナが立ち上がります。無事立ち上がったら、ブラウザでhttp://localhost:9999にアクセスしたら以下のような画面が表示されていると思います。表示されない場合はコンテナが立ち上がっていないと思われますので先述のとおりタブとスペースに注意してymlファイルをチェックしてみてください。

nginxのwelcomeページが見れたらOKです
これでまずはdockerでnginxコンテナが上がったので、はじめのはじめの第一歩は終了です。概念が若干わかりにくいので、すべてを理解しようと思わずに「こんなもんかな」ぐらいの理解で最初は大丈夫です。徐々に、「ああ、あのときのあれはこうだったのか」となる日がくるはずなので焦らずに徐々にやっていきましょう。
![]() | さわって学ぶクラウドインフラ docker基礎からのコンテナ構築【電子書籍】[ 大澤 文孝 ] 価格:2970円 |
