今までBest practices for writing dockerfilesを読んだつもりで全然読んでませんでしたすみません。
自分のブログからの転載です。
Best Practice
-
RUN apt-get upgrade
を使わない。 - 必須パッケージが古いことがわかっている場合は、ベースイメージのメンテナーに連絡した上で、
RUN apt-get update && apt-get install -f hoge
を利用する。 - 日本語翻訳では、"Avoid
RUN apt-get upgrade
"が"Run apt-get update
"を利用しない"と誤訳されている。
経緯
Dockerfile用のLinterを作っている友達がいて、その中にDo not use apt-get upgrade or dist-upgrade.
というのがあり疑問に思って、調べてみたらこの情報を見つけました。
Best practices for writing dockerfiles
読んだつもりで全然読めてませんでした。すみません。
理由
- 「必須」パッケージを"unprivileged container"(訳が難しいが親イメージに対する「最下流の」コンテナ、的な意味)でアップデートするべきではないから。
- ちゃんとベースイメージでアップデートするように求められています。
まとめ
-
RUN sudo apt-get upgrade
を使う状況を作らない。 - Bestpractices for writing dockerfilesをちゃんと読もう。
- PR投げようかと思ったら、新しいのでは修正済みでした。Google検索だと1.9の情報が出てくるので注意。