Introduction
Docker est un outil conçu pour faciliter la création, le déploiement et l’exécution d’applications à l’aide de conteneurs. Les conteneurs permettent à un développeur de regrouper une application avec tous les éléments dont il a besoin, tels que des bibliothèques et autres dépendances, et de l’expédier sous la forme d’un seul package.
Contrairement aux machines virtuelles traditionnelles, les conteneurs Docker sont légers et partagent le même système d’exploitation hôte, virtualisant uniquement au niveau logiciel. Docker Engine fonctionne sous Linux, Windows et macOS, prenant en charge les conteneurs Linux et Windows.
Docker simplifie le contrôle des versions, la gestion des dépendances et garantit la cohérence entre les environnements de développement et de production. C’est un outil puissant pour gérer plusieurs serveurs et organiser le code pour le déploiement. 🚀
Dockeriser une application angulaire
Pour dockerise une application angulaire, procédez comme suit :
1. Installer Docker
Assurez-vous que Docker est installé sur votre ordinateur. Sinon, téléchargez-le et installez-le depuis le site officiel de Docker.
2. Créez une application angulaire :
Si vous n’avez pas d’application Angular existante, créez-en une à l’aide de la CLI Angular :
ng new my-angular-app
3. Accédez à votre répertoire d’applications angulaires :
Ouvrez un terminal et accédez au répertoire racine de votre application Angular.
4. Créez un fichier Docker :
Créez un fichier nommé Dockerfile (sans aucune extension de fichier) dans le dossier de votre application Angular.
Ajoutez le contenu suivant à votre fichier Docker :
# Utiliser un runtime Node.js officiel comme image de base
FROM node:20 AS build
# Définir le répertoire de travail à l'intérieur du conteneur
WORKDIR /app
# Copiez package.json et package-lock.json dans le conteneur
COPY package*.json ./
# Installer les dépendances de l'application
RUN npm install
# Copiez le reste du code source de l'application dans le conteneur
COPY . .
# Créer l'application angular
RUN node_modules/.bin/ng build --configuration production
# Utiliser NGINX comme serveur de production
FROM nginx:alpine
COPY --from=build /app/dist/app/dist/my-angular-app /usr/share/nginx/html
# Exposer le port 80
EXPOSE 80
# Démarrer Nginx
CMD ["nginx", "-g", "daemon off;"]
Remplacez my-angular-app par le nom réel de votre application Angular.
5. Créez une image Docker :
Dans le même répertoire que votre Dockerfile, exécutez :
docker build -t my-angular-app .
Cette commande crée une image Docker nommée my-angular-app.
6. Exécutez un conteneur Docker :
Une fois l’image créée, exécutez un conteneur à partir de celle-ci :
docker run -p 8080:80 my-angular-app
Cela mappe le port 8080 de votre machine hôte au port 80 à l’intérieur du conteneur.
7. Accédez à votre application angulaire :
Ouvrez un navigateur Web et accédez à http://localhost:8080.
Vous devriez voir votre application Angular s’exécuter dans le conteneur Docker.
C’est ça! Votre application Angular est maintenant Dockerisée et prête à être déployée. 🚀