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 paquets, ceux-ci ne sont pas ajoutés aux paquets globaux. Et ce changement peut être facilement annulé. Ainsi, si j'ai besoin de gcc pour compiler un programme, mais qu'une fois le programme compilé, je n'ai plus besoin de gcc.
Je peux installer gcc, et d'autres paquets requis dans un paquet virtuel et toutes ses dépendances et tout peut être supprimé ce nom de paquet virtuel. Voici un exemple d'utilisation
RUN apk add --virtual mypacks gcc vim \
&& apk del mypacks
La commande suivante supprimera les 18 paquets installés avec la première commande.
Dans Docker, ils doivent être exécutés en une seule fois. RUN
(comme indiqué ci-dessus), sinon il ne réduira pas la taille de l'image.
53 votes
Notez que le fait de placer la suppression dans une commande RUN distincte ne réduira pas la taille de l'image, car la suppression est exécutée dans une nouvelle couche du système de fichiers.