J'ai entendu dire que le nombre n'est pas égal à toutes les tailles de couches s'ajoutant à l'intérieur d'une image. Et ce n'est pas non plus la taille de l'espace disque qu'il occupe.
Maintenant, je veux vérifier la logique par code source (dans ce repo: https://github.com/docker/docker-ce ), car voir c'est croire! Mais après avoir parcouru le code pendant beaucoup de temps, j'ai constaté que je n'étais pas en mesure de trouver le véritable code de calcul de la taille de l'image.
Alors, quelle fonction/quel fichier le docker utilise-t-il pour exécuter la logique de taille?
Vous pouvez obtenir de la taille
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.12-Alpine 24ed1c575f81 2 years ago 15.5MB
ce code de fonction est ici https://github.com/docker/docker-ce/blob/5a0987be93654b685927c2e5c2d18ac01022d20c/components/cli/cli/command/image/list.go
et obtient la taille de ce code https://github.com/docker/docker-ce/blob/524986b1d978e1613bdc7b0448ba2cd16b3988b6/components/cli/cli/command/formatter/image.go
et enfin vous avez besoin de https://github.com/docker/docker-ce/blob/531930f3294c31db414f17f80fa8650d4ae66644/components/engine/daemon/images/images.go