docker apk dockerfile alpine

docker - ¿Qué es.build-deps para apk add--virtual command?



alpine install python (1)

¿Qué es .build-deps en el siguiente comando? No puedo encontrar una explicación en los documentos de Alpine. ¿Es este un archivo que está predefinido? Se ve esto referenciado en muchos 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 ves la documentación

-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

Lo que eso significa es que cuando instala paquetes, esos paquetes no se agregan a los paquetes globales. Y este cambio puede revertirse fácilmente. Entonces, si necesito gcc para compilar un programa, pero una vez que se compila el programa, ya no necesito gcc.

Puedo instalar gcc y otros paquetes necesarios en un paquete virtual y todas sus dependencias y todo se puede eliminar con este nombre de paquete virtual. A continuación se muestra un ejemplo de uso

apk add --virtual mypacks gcc vim apk del mypacks

El siguiente comando eliminará los 18 paquetes instalados con el primer comando.