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.