Images docker, construction avancée
Nous allons construire une image de base intelligente qui pourra être utilisée par des projets Angular.
Voici le cahier des charges :
- Un stage intermédiaire doit contenir ng-cli
- Un stage intermédiaire doit permettre de créer un environnement de développement Angular (ng serve)
- Le stage final de l'image doit déclencher la compilation de l'application (ng build) lors de la construction d'une image enfant.
- Taguer l'image finale
angular:build - Taguer le stage correspondant à l'environnement de développement
angular:dev - Taguer le stage correspond à ng cli
angular:cli
On doit pouvoir utiliser cette image de la manière suivante pour créer une image dédiée au runtime :
FROM angular:build as builder
FROM nginx
COPY --from=builder /app/dist /usr/share/nginx/html
Remarque : le tout peut se faire en 10 lignes