Qu'est-ce que .build-deps
dans la commande suivante? Je ne trouve pas d'explication dans la documentation alpine. Est-ce un fichier qui est prédéfini? Est-ce que voir ceci référencé dans beaucoup de 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
Si vous voyez la documentation
-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
Cela signifie que lorsque vous installez des packages, ceux-ci ne sont pas ajoutés aux packages globaux. Et ce changement peut être facilement annulé. Donc, si j’ai besoin de gcc pour compiler un programme, mais une fois le programme compilé, je n’ai plus besoin de gcc.
Je peux installer gcc et les autres packages requis dans un package virtuel et toutes ses dépendances et tout ce qui peut être supprimé de ce nom de package virtuel. Ci-dessous un exemple d'utilisation
apk add --virtual mypacks gcc vim
apk del mypacks
La commande suivante supprimera les 18 packages installés avec la première commande.