次のコマンドの.build-deps
とは何ですか? Alpineのドキュメントには説明がありません。これは事前定義されたファイルですか?これは多くのDockerfilesで参照されています。
RUN apk add --no-cache --virtual .build-deps \
gcc \
freetype-dev \
musl-dev
RUN pip install --no-cache-dir <packages_that_require_gcc...> \
RUN apk del .build-deps
ドキュメントを見る場合
-t, --virtual NAME Instead of adding all the packages to 'world', create a new
virtual package with the listed dependencies and add that
to 'world'; the actions of the command are easily reverted
by deleting the virtual package
つまり、パッケージをインストールすると、それらのパッケージはグローバルパッケージに追加されません。そして、この変更は簡単に元に戻すことができます。したがって、プログラムをコンパイルするためにgccが必要な場合、プログラムがコンパイルされるとgccは必要なくなります。
Gcc、およびその他の必要なパッケージを仮想パッケージとそのすべての依存関係にインストールでき、この仮想パッケージ名をすべて削除できます。以下は使用例です
apk add --virtual mypacks gcc vim
apk del mypacks
次のコマンドは、最初のコマンドでインストールされた18個のパッケージをすべて削除します。