web-dev-qa-db-fra.com

Qu'est-ce que .build-deps for apk add --virtual command?

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
82
gdbj

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.

155
Tarun Lalwani