alpine `apk` には ubuntu `apt` `--no-install-recommends` に相当するものがありますか? 質問する

alpine `apk` には ubuntu `apt` `--no-install-recommends` に相当するものがありますか? 質問する

可能な限り最小の Docker イメージを作成しようとしているため、ベースを ubuntu から alpine に切り替えました。

については、必要なパッケージとともにインストールされる「依存関係」を最小限に抑えるためにapt使用していました。 を渡す必要のある同等のフラグはありますか、それともこれがこのスリム化された OS のデフォルトの動作ですか?--no-install-recommendsapk

ベストアンサー1

いいえ、推奨パッケージをダウンロードするという同じ動作すら行わないので、同じフラグはないと思います。

--virtualただし、画像を小さく保つのに役立つ別のフラグがあります。

apk add --virtual somename package1 package2

その後

apk del somename 

これは、ビルドにのみ必要で、後で実行するために必要ではないものに役立ちます。

add、use、およびをdel連鎖して実行する必要があることに注意してください。1つ RUNコマンドを実行しないと、追加されたパッケージによって余分なイメージ レイヤーが作成され、最終的な Docker イメージが肥大化してしまい、基本的に目的が達成されなくなってしまいます。

たとえば、実行にはと がpything1必要だが、インストール ビルド中にのみと が必要な場合は、次が最適です。package1package2package3package4

RUN apk add --no-cache package1 package2
RUN apk add --no-cache --virtual builddeps package3 package4 && \
    pip install pything1 && \
    apk del builddeps 

パッケージ 3 と 4 は「world」パッケージに追加されず、レイヤーが書き込まれる前に削除されます。

この質問は逆の質問をしています:apk add --virtual コマンドの .build-deps とは何ですか?

おすすめ記事