web-dev-qa-db-ja.com

Alpineʻapk`にはubuntuʻapt``--no-install-recommends`と同等のものがありますか

回避できる絶対最小のDockerイメージを作成しようとしているので、ベースとしてのubuntuからAlpineに切り替えました。

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

12
Zak

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

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

apk add --virtual somename package1 package2

その後

apk del somename 

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

1つのRUNコマンドで実行する必要があることに注意してください。実行しないと、前のDockerイメージレイヤーから削除できません。

例えばif pything1ニーズpackage1およびpackage2を実行しますが、必要なのはpackage3およびpackage4インストールビルド中、これが最適です。

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

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

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

7
scipilot