2026年8月1日

2026年8月1日

Dockerfileを最適化してイメージサイズを小さくする方法

はじめに

Dockerイメージのサイズは、クラウド上のリソース利用やネットワーク帯域の節約など、重要な課題となります。特に大規模なサービスや開発チームでは、最小限のボリュームで効率的に動作する必要があるため、最適化手法を理解しておくことが重要です。

症状・背景

Dockerイメージサイズが大きすぎる場合:

  • クラウドコストが高額になる
  • バージョンアップや新しいイメージ作成の手間が増えてしまう
  • リソース効率が低下する

手順・設定方法

ステップ1: 必要なパッケージのみインストール

# 必要なパッケージだけインストール
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        package1 \
        package2 \
    && rm -rf /var/lib/apt/lists/*

# パッケージ一覧を削除する

ステップ2: 未使用のライブラリやファイルを削除

# イメージ作成中に生成された無駄なファイルを削除
RUN rm -rf /var/log/* \
    && rm -rf /tmp/*

# ログファイルなどを削除

ステップ3: 不要な設定ファイルを非表示化

# .gitignoreなどの不要な設定ファイルを非表示化
COPY --chown=root:root ./.dockerignore /root/

# Dockerfile内に.gitignoreの指定を追加
.Dockerignore:
    - .git/
    - .svn/

ステップ4: 重要なログやトラブルシューティング用のファイルを残す

# 必要なログファイルのみを保持する
RUN find /var/log -type f ! -name 'important.log' -exec rm -f {} \;

# ログファイルを重要なものだけ残す

注意事項

  • 重要なファイルや設定は削除しないように注意
  • 不要なパッケージは早期にインストール解除する
  • バージョン管理システムのファイルは常に除外する
  • セキュリティ上の配慮から、無駄なログも削除する

まとめ

1. 必要なパッケージのみインストール: 必要ないパッケージを削除することでイメージサイズを小さくします。

2. 未使用のファイルを削除: イメージ作成時に不要なファイルが生成されないようにします。

3. 不要な設定ファイルを非表示化: 余分な設定ファイルを非表示化して、不要な情報を削除します。

4. 重要なログやトラブルシューティング用のファイルを残す: イメージサイズを小さくしつつ、必要な情報は保持します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ