12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

そもそもなぜシステム開発に Docker が必要だったのか

Last updated at Posted at 2025-12-12

0. なぜシステム開発に Docker が必要だったのか?

新人が一番引っかかる質問はこれです。
「別にローカルにRails入れて動けばいいのでは?」
「普通にApacheやMySQLインストールすれば良くない?」

しかし、現場ではこれが何度も問題になってきました。

🧨 1. 開発環境がバラバラ問題 — “動く・動かない”戦争

Ruby バージョン Node バージョン MySQL メモ
A さん 3.2.2 18 8.0 動く
B さん 3.1.0 16 5.7 動かない
C さん 3.2.2 20 8.0 別のエラーで動かない

結果、こういう会話が発生します:

  • 「昨日まで動いてたのに動かなくなった……」

  • 「え?俺の PC では再現しないよ?」

  • 「環境が違うからじゃない?」

これを「環境差分問題(環境の再現性問題)」と呼びます。

Docker があれば:

誰の PCでも同じ環境で開発できる
→ 環境差分がゼロになる

🧨 2. ローカル構築が複雑すぎる問題 — 1日かけて環境構築…

Rails + MySQL + Redis + Node + Yarn …
新人が環境構築だけで 1日〜2日潰れることも珍しくありません。

Docker があれば:

docker compose up

これで全サービスが自動で立ち上がる。
新人が最初に「動く状態」まで行く時間が圧倒的に短縮されます。

🧨 3. 本番環境とローカル環境の差で事故が起きる問題

  • ローカル:macOS

  • 本番:Amazon Linux

  • ローカル:MySQL 8

  • 本番:MySQL 5.7

この違いで、「ローカルでは動くけど本番で落ちる」事故が多発。

Docker は本番もローカルも同じイメージを使うので:

ローカル = 本番とほぼ同じ環境

→ ブレにくい
→ デプロイ後のバグも激減

🧨 4. “インストール地獄”からの解放

過去にはこんなことが起きていました:

  • Java 11 を入れたら古い Java 8 のアプリが動かなくなった
  • Mac の OSをアップデートしたら RailsのGemが壊れた

Docker は、アプリごとに環境を分離できるため、
「何か入れたら他が壊れる問題」が起きません。

アプリA → コンテナA  
アプリB → コンテナB  
環境が完全に独立

🧨 5. 新しく加わったメンバーが即戦力になる

普通の開発環境

Git clone → 依存ライブラリ大量インストール → 設定 → DB作る → 起動

Docker 環境

git clone → docker compose up → 起動

これにより、新メンバーが初日からアプリを動かせるチームになります。
(現場ではこれが本当に大きい)

🧨 6. インフラ担当がいない小規模チームの強い味方

小規模チームではよく起こります:「サーバー管理に詳しい人がいない」

Docker + Fargate を使うと

  • OS のアップデート不要

  • パッケージ管理不要

  • セキュリティパッチ不要

  • インフラの死活監視なし

AWS が裏側を全部やってくれるので、
小規模開発チームでも 本番運用の品質が高く保てる。

📌 図:昔の開発 vs Docker 化後

image.png

Before(Docker なし)

  • 人によって環境が違う

  • ローカル構築が毎回大変

  • 本番とローカルが別物

  • 新人が環境構築でつまづく

After(Docker あり)

  • 全員が同じ環境

  • 起動が一瞬

  • 本番と同じ環境で開発可能

  • 新人・外部委託でもすぐ開発可能

まとめ:Docker が必要になった本質

🚀 Docker が生まれた背景の一言まとめ

「とにかく環境の問題で時間を無駄にしたくなかった」

開発チームは、「コードを書く」ことではなく「環境トラブルを直す」ことに時間を奪われていました。

Docker はそれを根本的に解決するための技術です。

※これは「株式会社ネクスウェイ Advent Calendar 2025」1日目の記事です🎄

あらゆるコミュニケーションを支援する株式会社ネクスウェイの開発メンバーが、好きな技術・取り組み・学びをゆるく書いていきます :snowman2:


最後まで読んでいただきありがとうございました。

株式会社ネクスウェイ Advent Calendar 2025では明日以降も、開発メンバーがそれぞれの「好き」と「学び」を自分の言葉で綴っていく予定です。

明日 2 日目の記事は、同じくネクスウェイ開発メンバー@HERUESTA さん です。

引き続き、お楽しみください🎄


12
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?