search
LoginSignup
5
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Dockerfileで`apt-get upgrade`をつかってはいけない。注:古い日本語版だと誤訳されています。

今まで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の情報が出てくるので注意。

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
What you can do with signing up
5
Help us understand the problem. What are the problem?