Docker イメージを構築しているとき、私は自分自身が奇妙な場所にいることに気づきます。誰かが以前に何度もやったことがあるようなことをしているような気がします。ほとんどの場合、この直感は完全に正しいです。私はソフトウェアの一部を取り上げ、OS のパッケージング システムで既に記述されているすべてのことをDockerfile.
多くの場合、パッケージャーマネージャーを使用してソフトウェアをイメージにインストールし、そのパッケージ内を調べて、Dockerfile. OS パッケージャーと Docker パッケージャーの間の作業の重複は、より一般的なケースの 1 つであると私が推測するようなケースで最も明白です。
したがって、基本的に、事前にパッケージ化されたソフトウェアの上にイメージを構築するすべての Docker ユーザーは、ほぼゼロから再パッケージ化していますが、OS パッケージャーが試行、エラー、および洗練のために持っていた時間と多くの場合、ドメインの知識がありません。コミュニティが管理するイメージの再利用性が低いことを考えると (Debian から RHEL にリベースするのは痛い)、既に存在し、OS レベルで動作する機能をコピーまたは再実装することに行き詰まり、多くの時間を無駄にし、私たちが置き去りにするかもしれないものを受け継ぐ貧しい魂の維持負担。
この作業の重複を解決し、パッケージのメンテナーが Docker のソフトウェアについて既に学んだものを再利用する方法はありますか?