実測:Docker 5コンテナ起動しても、メモリ約1.1GB

まず数字を出します。普段の開発環境をひととおり立ち上げた状態で docker stats を取った結果です。

コンテナ メモリ使用量 CPU
Laravel(アプリ本体) 146.9 MiB 0.13%
フロントエンド 373 MiB 0.00%
MySQL 494.5 MiB 0.48%
Mailpit(メール検証) 30.4 MiB 0.00%
phpMyAdmin(DB管理) 62.66 MiB 0.01%
合計 約1.08 GB 1%未満

ここで見てほしいのは、これが「動作確認用の最小構成」ではないことです。アプリ本体、フロントエンド、データベース、メール検証ツール、DB管理画面——実務でそのまま使える一式を同時に起動しています。それで合計約1.08GB。Dockerに割り当てた3.828GiBに対して、使用率は約28%です。CPUに至っては全コンテナ合わせて1%未満でした。

8GBという総容量に対して、Laravel開発環境が占める割合は、思っているよりずっと小さい。これが実際の数字です。

僕の開発環境

参考までに、普段の構成です。

  • MacBook Air(M1・2020モデル、8コアCPU、メモリ8GB/中古で約9万円で購入)
  • Docker Desktop
  • Laravel
  • VS Code
  • Claude Code
  • Google Chrome
  • Git / GitHub

この構成で、フリーランスとして毎日仕事をしています。特別に軽量化した環境ではなく、ごく標準的な組み合わせです。

「できるか」と「快適か」は別の話

正直に書くと、重さを感じる場面がゼロではありません。

Docker を起動した状態で VS Code・Chrome・Claude Code を全部立ち上げ、さらに Chrome のタブを大量に開いていると、アプリの切り替えでもたつくことはあります。

ただし、これは「仕事が止まる」レベルではなく「少し待つ」レベルです。「8GBだからできない」という壁にぶつかったことは、一度もありません

「8GBは厳しい」という表現より、「8GBでも十分動く。ただし快適さを追求するなら16GBの方がいい」——これが正確だと思っています。「厳しい」と「快適じゃない場面もある」は、まったく別の話です。

なぜ「8GBは厳しい」という声が多いのか

理由は2つあると考えています。

ひとつは、発信する人の偏りです。スペックにこだわる人ほど調べて発信します。逆に「8GBで普通に使えてます」という人は、わざわざ記事を書きません。だから、ネット上の意見は自然と「厳しい」側に寄ります。

もうひとつは、用途による差です。大規模システムの開発や、重いアプリを大量に同時起動する使い方なら、確かにメモリは足りません。でもLaravelで中小規模のWebアプリを作るなら、上の実測値のとおりです。

そして何より、学習を始めたばかりの段階で「8GBでは限界がある作業」に出くわす機会は、ほとんどありません。学習、ポートフォリオ制作、初期の案件——このあたりは8GBで十分に対応できます。

本当のボトルネックは、メモリよりストレージかもしれない

ここまでメモリの話をしてきましたが、8GB機を使ううえで、実はもっと注意すべきものがあります。ストレージの空き容量です。

理由は仕組みにあります。macOSはメモリが足りなくなると、その分をSSDに退避(スワップ)させて処理を続けます。つまり空き容量が枯渇していると、スワップの余地がなくなり、メモリ8GB以前の問題としてシステム全体が重くなる。8GB機ほど、ストレージに余裕を残しておくことが効いてくるわけです。

そして厄介なのが、Dockerを使っているとストレージが静かに埋まっていくことです。僕の環境で docker system df を実行した結果がこちらです。

種類 使用量 削除可能
イメージ(27個) 33.24 GB 14.78 GB
コンテナ(19個) 2.07 GB 1.78 GB
ボリューム(7個) 1.34 GB 415 MB
ビルドキャッシュ(189個) 1.65 GB 1.65 GB
合計 約38.3 GB 約18.6 GB

Dockerだけで約38GB。しかもその半分近い約18.6GBが不要なデータでした。ビルドキャッシュに至っては189個すべてが不要です。

僕のMacは256GBモデルで、この時点の空きは約32GB。全体の13%程度まで減っていました。でも上の表のとおり、整理すれば空きは50GB前後まで戻る計算になります。ほぼ1.5倍です。

対処は簡単で、定期的に不要なリソースを削除するだけです。

# 現状を確認する
docker system df

# 停止中のコンテナ・未使用ネットワーク・不要イメージを削除
docker system prune

# 未使用イメージとビルドキャッシュもまとめて削除(より大きく空く)
docker system prune -a

-a をつけると使っていないイメージも消えるので、次回のビルドには時間がかかります。ただ、空き容量が逼迫しているなら効果は大きいです。

つまり「8GBだと足りないのでは」と悩む前に、まずストレージを掃除してみてください。体感の重さの原因が、メモリではなく容量不足だった、というケースは十分にあり得ます。

「スペックを整えてから始める」は、たぶん損

スクールに入って最初に感じたのは、スペックより手を動かす回数の方が、成長にはるかに効くということでした。

8GBか16GBかより、毎日コードを書いているかどうか。その差の方が圧倒的に大きい。「もう少しいいMacを買ってから始めよう」と考えている間に過ぎていく時間の方が、よほどもったいないです。

僕自身、8GBで学習して、8GBでポートフォリオを作って、8GBで初案件を取りました。今もこの環境で仕事が回っています。しかも購入したのは中古で約9万円のMacです(学習にかかった費用の全内訳は別記事にまとめました)。「スペックが足りなくて困った」という経験は、一度もありません。

これから買う人へ

すでに8GBのMacを持っているなら、そのまま始めてください。それで十分です。

これから購入する人で予算に余裕があるなら、16GBを選べば快適に使えます。でも「8GBしか買えない」という状況でも、まったく問題ありません。Laravel開発は8GBでできます。

始めるかどうかの判断を、スペックに委ねる必要はないと思っています。

まとめ

MacBook Air M1(メモリ8GB)で、Laravel開発は普通にできます。

実測では、Laravel・フロントエンド・MySQL・Mailpit・phpMyAdmin の5コンテナを同時起動して、メモリ約1.08GB、CPU1%未満。実務レベルの環境一式でこの数字です。

重さを感じる場面がないとは言いませんが、それは「快適さの話」であって「できるかどうかの話」ではありません。

そして、もし今の環境が重いと感じているなら、メモリを疑う前にストレージの空きを確認してみてください。僕の場合、Dockerの不要データだけで約18.6GBが眠っていました。

スペックを気にして踏み出せないでいるなら、今ある環境で始めてみてください。経験を積むことの方が、メモリを増やすことよりずっと大切です。