Docker – réduire la taille de vos images Node.js
Pour mon image Docker de l’api:Console, j’utilisais l’image officielle Node.js de Docker qui elle-même se base sur une Debian Jessie. L’image finale avait une taille virtuelle de 301 Mo.
Solomon Hykes, fondateur et CTO de Docker, a récemment annoncé que l’image de base pourrait être1 Alpine Linux qui fait moins de 5 Mo ! Cette distribution est réputée légère et plus sécurisée. Alors pourquoi ne pas migrer sur cette image ? Pour celà, il faut simplement remplacer l’entête du Dockerfile
d’origine :
FROM node
Par celle-ci :
FROM alpine RUN apk add --update nodejs \ && rm -rf /var/cache/apk/*
Rien de plus simple, non ?
Après quelques optimisations sur l’utilisation de Git 2, l’image de l’api:Console est passée de 301 Mo à 69 Mo.
Si vous souhaitez optimiser la taille de vos images Node.js, il ne reste plus mettre à jour vos Dockerfile en attendant une version officielle de Node.js basée sur Alpine. A noter que cette astuce est valable pour n’importe quelle image qui se base sur Ubuntu ou Debian.
PS: Pour ceux que ça intéresse, vous pouvez utilisez le tag raml-1.0 pour tester la version expérimentale supportant RAML 1.0 avec la commande
$ docker run -p 9000:9000 -d slecache/api-console:raml-1.0
- Post sur Hacker News ↩
- Le code source est disponible sur le dépôt GitHub. ↩
Laisser un commentaire