0
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?

ハッカソン個人備忘録㉜:ハッカソンで学んだ .dockerignore の大切さを振り返ってみた

Posted at

はじめに

Docker を使ってアプリケーションをコンテナ化する際には、不要なファイルやディレクトリを Docker イメージに含めないことが重要です。そのために使用されるのが .dockerignore ファイルです。

個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。

本記事では、以下のような .dockerignore のエントリについて解説します:

node_modules
npm-debug.log

書こうと思ったきっかけ

ハッカソンで Docker を使って Node.js アプリケーションをコンテナ化する際、.dockerignorenode_modulesnpm-debug.log を記述しているのを見かけました。

その意味と理由を理解することで、より効率的で安全な Docker イメージを作成できると感じたため、備忘録としてまとめることにしました。

node_modules

  • 意味:Node.js の依存パッケージがインストールされるディレクトリ。
  • 無視する理由
    • サイズが大きい:不要な容量増加を防ぐ。
    • 再現性の確保:Dockerfile 内で npm install を使って依存関係を再インストールするのが一般的。
    • 環境依存を回避:ローカル環境でインストールされたモジュールは、OS や CPU に依存する可能性がある。

npm-debug.log

  • 意味npm 実行中にエラーが発生した場合に出力されるログファイル。
  • 無視する理由
    • 一時的なファイルであり、Docker イメージに含める必要はない。
    • セキュリティやプライバシーのリスク:ログには内部情報が含まれる場合がある。

まとめ

.dockerignore ファイルを適切に設定することで、以下のようなメリットが得られます:

  • Docker イメージの軽量化
  • ビルド時間の短縮
  • 本番環境に不要なファイルを含めないことでセキュリティ向上

特に Node.js アプリケーションでは node_modulesnpm-debug.log を無視するのは基本中の基本です。Docker を扱う際は、.dockerignore の内容も見直してみてください...!

0
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
0
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?