新しい案件に参画するたびに環境構築で1日溶ける——Dockerはこの無駄を消します。環境を「コード」として共有できるのが最大の利点です。
まずはdocker-composeから
アプリ・DB・キャッシュをまとめて起動できるcompose定義があれば、参画初日にdocker compose upだけで開発を始められます。
services:
app:
build: .
ports: ["3000:3000"]
volumes: [".:/app"]
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: password
イメージは軽く保つ
- マルチステージビルドで本番イメージを小さく
- .dockerignoreでnode_modules等を除外
- alpineベースはサイズ小、ただし互換性に注意
本番との差を減らす
ローカルと本番のイメージを揃えるほど「本番だけで起きる不具合」が減ります。開発環境の統一は、そのまま品質の底上げになります。