Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker イメージの軽量化 #5

Merged
merged 1 commit into from Jan 7, 2022

Conversation

yude
Copy link
Contributor

@yude yude commented Jan 7, 2022

変更の種類

  • 不具合の修正
  • 新しい機能の追加
  • 改善・リファクタリング(機能は追加されないが、動作やコードを改善する破壊的でない変更)

チェックリスト:

  • 開発資料データベース設計 は読みましたか?
    • もともと自分用のメモですが、このプロジェクトの開発方針や設計などが記載されています。開発時の参考にしてください。
  • Git のコミットメッセージは開発資料に記載のフォーマットになっていますか?(重要)
    • このプロジェクト上のコミットメッセージは、基本的に全てこのフォーマットに従って記述されています(文字数は問いません)。
    • 正しいフォーマットになっていない場合、force push で必ずコミットメッセージを変更してから送信してください。
  • このプロジェクトのコーディング規約に従ったコードになっていますか?
    • コーディング規約は開発資料に記載されています。
    • そもそもコーディング規約と言えるほど大層なものではありませんが、一度目を通しておいてください。
  • プルリクエストは master ブランチに送信されていますか?
    • release ブランチはリリースした時にしか更新されません。必ず master ブランチに送信してください。

説明

Dockerfile にて、以下の変更が行われています。

  • Docker イメージのビルド時にしか使用しないパッケージを最後に削除するようにしました。
  • Docker イメージ内に locale をインストールするのは一般的ではなく、また、コンテナ内での作業をすることは稀であるため、ja_JP ロケールのインストールをしないようにしました。

動機とコンテキスト

  • Docker イメージのビルド時間、および Docker Hub 等への push 時の時間を短縮するため。
  • Docker イメージの大きさを節減するため。

@tsukumijima
Copy link
Owner

Pull Request をありがとうございます。概ね良さそうです。

Docker イメージのビルド時にしか使用しないパッケージを最後に削除するようにしました。

完全に盲点でした。確かに一度しか使わないパッケージを残置しておくのはファイルサイズの無駄ですし、良いと思います(aria2 も p7zip-full も小規模なライブラリなので軽量化に寄与するかは微妙でしょうけど…)。

Docker イメージ内に locale をインストールするのは一般的ではなく、また、コンテナ内での作業をすることは稀であるため、ja_JP ロケールのインストールをしないようにしました。

Docker イメージ自体をあまり作ったことがなく、日本語化しておいて損はないか程度に考えていたのですが、Docker イメージのビルド時間やでき上がったイメージサイズなどを考えると、確かに日本語化するメリットは薄いですね…。
タイムゾーンに関しては日付を多く扱う関係上、日本時間に設定しておく必要があるはずです。今回タイムゾーン周りには触れられていないのでこちらも問題ありません。

ただ一点だけ、コメントが現在 パッケージのインストールとロケールの日本語化 となっていますが、ロケールの日本語化処理はすでに取り除かれているので、コメントも パッケージのインストール だけにするほうが適当だと思います。

@yude
Copy link
Contributor Author

yude commented Jan 7, 2022

コメントを修正しました。

@tsukumijima
Copy link
Owner

ありがとうございます。マージします。

@tsukumijima tsukumijima merged commit 55e9d4d into tsukumijima:master Jan 7, 2022
@yude yude deleted the optimize-docker-image branch January 8, 2022 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants