.dockerignore は、Docker ビルド時に build context へ含めたくないファイルを除外するための設定ファイルです。
初心者向けにかなりざっくり言うと、Docker build に渡したくないファイル一覧 です。
Docker Docs でも、.dockerignore を使うと build context からファイルを除外でき、不要な転送や意図しない混入を減らせると説明されています。
そのため、ビルドを速くするだけでなく、node_modules や .git、秘密情報をうっかり送らないためにも大事です。
まず押さえたいポイント
- Docker build に渡したくないファイルを除外する
- build context が大きくなりすぎるのを防ぎやすい
- 不要ファイルや機密情報の混入を減らしやすい
- Dockerfile とセットで考えることが多い
どんな場面で使うか
.dockerignore は、ほぼすべての Docker build で意識した方がよいです。
特に、Node.js の node_modules、Python の .venv、Git 管理情報、ログ、テスト成果物などをビルドへ含めたくないときに使います。
実務で見るポイント
.dockerignore が大事なのは、ビルド速度だけではありません。
不要なファイルを build context に含めると、キャッシュ効率が悪くなったり、機密ファイルを誤ってイメージへ取り込んだりする原因にもなります。
よくある誤解
Dockerfile に COPY しなければ問題ない?
そうとも限りません。
Docker Docs でも .dockerignore は build context に入る前の段階で除外する仕組みとして案内されています。build context に含めないこと自体に意味があります。
.gitignore があれば十分?
別物です。
.gitignore は Git 用、.dockerignore は Docker build 用なので、両方必要になることがあります。