🖥 OS / ソフト系

Docker

アプリと実行環境(OS ライブラリ・依存パッケージ)を「コンテナ」にパッケージ化し、どの PC でも同じ動作を保証するコンテナ実行基盤。

別名・略称: Docker開発 コンテナ開発 Docker コンテナ Docker Engine

🧾 概要

アプリと実行環境(OS ライブラリ・依存パッケージ)を「コンテナ」にパッケージ化し、どの PC でも同じ動作を保証するコンテナ実行基盤。

Docker 開発とは

「Docker 開発」=「Docker(コンテナ技術)を使ってアプリを開発・実行するスタイル」 のこと。Web 系・クラウド系の開発現場ではほぼ標準になっています。

具体的には、開発する PC に PostgreSQL や Redis や Node.js を直接インストールせず、それぞれを「コンテナ」という独立した小さな仮想環境として起動して使います。

[従来の開発]                [Docker 開発]
PC に直接インストール        PC にはコンテナだけ
  - Node.js v18              ┌─────────────────┐
  - PostgreSQL 14            │ DB コンテナ      │ PostgreSQL 16
  - Redis 6                  ├─────────────────┤
  - nginx                    │ Backend コンテナ │ Node.js 20
  ↓                          ├─────────────────┤
バージョン違いで地獄         │ Frontend コンテナ│ Vite + React
PC が壊れたら復旧大変        ├─────────────────┤
                             │ Cache コンテナ   │ Redis 7
                             └─────────────────┘
                             docker compose up で全部起動

何ができるか

  • 環境を 1 行で再現docker compose up でチーム全員が同じ DB・同じバージョンを起動
  • 本番と同じ環境で開発:本番サーバーで動く Linux コンテナを開発機でもそのまま動かせる
  • PC を汚さない:ライブラリをグローバルに入れずに済む(コンテナを消せばクリーン)
  • 複数バージョン共存:プロジェクト A は Node 18、プロジェクト B は Node 20 を同時並行

Docker と Docker Desktop の違い

  • Docker(Docker Engine)= コンテナを動かすコアエンジン。Linux サーバーで標準動作
  • Docker Desktop = Windows・Mac で Docker Engine を簡単に使うための GUI 統合パッケージ

Windows で Docker 開発するなら、実体は Docker Desktop(中身は WSL2 上で Docker Engine が動く) を使うのが一般的です。

ビジネス自作 PC で Docker 開発するときに効く構成

Docker は「コンテナを並列に起動するほどメモリを消費する」性質があるため、ビジネス機の構成で気をつける点:

要素推奨ライン理由
メモリ32GB 〜 64GBDB + Backend + Frontend + Cache の 4 コンテナで 8〜16GB 食う
CPU コア8 コア以上Ryzen 7・Ryzen 9 推奨)コンテナごとに CPU を分けて並列実行
SSDNVMe SSD 1TB 以上Docker イメージは 1 個あたり数百 MB〜数 GB
OSWindows 11 Pro 推奨Hyper-V が使えるため WSL2 + Docker Desktop の挙動が安定

Docker 開発の典型的なメモリ消費例

Office・Teams              :   8 GB
Chrome 50 タブ              :   6 GB
VSCode                     :   2 GB
Docker(DB + Back + Front):  10 GB  ← ここが Docker 分
ローカル AI(任意)         :  10 GB
─────────────────────────
ピーク合計                 :  36 GB  → 32GB だと枯渇、64GB が安全圏

構成要素 / 種別

  • Docker Engine — コンテナを実行するコアエンジン
  • Docker CLI(docker コマンド) — コンテナの操作
  • Docker Compose(docker compose — 複数コンテナを 1 つの YAML で管理
  • Dockerfile — コンテナイメージのビルド手順を書くテキスト
  • Docker Hub — 公開イメージのレジストリ(PostgreSQL・nginx 等の公式イメージ配布)

■ ユースケース

  • Web アプリ開発:DB + バックエンド + フロントエンド + キャッシュをまとめて起動
  • CI/CD:本番と同じイメージで自動テスト・ビルド
  • ローカル AI 検証:Ollama・LM Studio 等を Docker 経由で動かす(GPU パススルー対応)
  • 比較・選定予算25万円ビジネス自作PC32GB vs 64GB メモリ

■ 関連用語

  • Docker Desktop — Windows/Mac 用の Docker 公式 GUI パッケージ
  • WSL2 — Windows で Docker を動かす基盤
  • Hyper-V — WSL2 のさらに下の仮想化基盤
  • Windows 11 Pro — Hyper-V が使える OS

■ 関連サイト・詳細な文書

関連用語

関連サイト・公式ソース