BTS SIO2D
  • Accueil
  • Connexion
27 février 2025 par Sarah Testelin

Je me suis formée à Docker dans le cadre de mon second stage

Je me suis formée à Docker dans le cadre de mon second stage
27 février 2025 par Sarah Testelin

Table des matières

Toggle
  • Je me suis formée à Docker dans le cadre de mon second stage
    • Docker qu’est ce que c’est ?
    • Pourquoi c’est bien ?
    • Virtual machines VS Containers
      • En quoi une une machine virtuelle est différente d’un container?
    • L’architecture de Docker
    • Comment fonctionne concrètement Docker avec une application
    • Concernant l’installation
    • Puis j’ai suivi ces étapes :
    • Prérequis système
    • Étapes d'installation pour Docker sur Mac

Je me suis formée à Docker dans le cadre de mon second stage

Docker qu’est ce que c’est ?

C’est une plateforme pour build, run et ship des applications et cela permet qu’elles soient effectives sur n’importe quelle machine. Docker permet de faire des sortes de packages d’applications avec tout ce qu’elles ont besoin pour fonctionner (comme des versions de technos par exemple) et de ce fait, on peut la run de n’importe quelle machine qui dispose de Docker. Il n’y a pas besoin de configurer des machines pour des projets spécifiques, pas d’installation de dépendances etc, on a juste besoin du projet dans Docker qui se chargera lui même d’installer tout ce qu’il faut pour que le projet fonctionne. Il va installer ça dans un environnement isolé appelé un container.

Pourquoi c’est bien ?

Parce qu’on peut avoir des différents projets sur la même machine qui ne fonctionne pas avec les mêmes versions. Un projet peut utiliser Java 17 et l’autre Java 21 et ils sont isolés et ne rentrent pas en conflit.

C’est pratique aussi parce que quand on ne veut plus travailler sur un projet, on a juste à supprimer le projet sur Docker et ça supprime automatiquement toutes ses dépendances. Ça permet aussi de pas encombrer notre machine physique de choses inutiles et qu’on n'ose pas supprimer par peur que ces choses soient encore liées à des projets en cours.

Virtual machines VS Containers

En quoi une une machine virtuelle est différente d’un container?

Pour les VM :

Une machine virtuelle (VM) est une abstraction d’une machine ou d’hardware, on peut donc faire fonctionner plusieurs VM sur une seule machine physique, on peut faire ça grâce à Hypervisor, comme VirtualBox par exemple.

Pourquoi utiliser une VM? Pour run une application de façon isolée, mais il y a quelques désavantages, notamment :

  • Que toutes les VM ont besoin d’un OS
  • Qu’elles sont longues à démarrer
  • Elles consomment beaucoup de ressources, parce que chaque VM utilise des ressources de la machine physique sur laquelle elle tourne, ça limite donc le nombre de VM qu’on peut avoir et ça créer une limite dû aux ressources de la machine physique qui ne sont pas illimitées

Pour les containers :

On peut faire fonctionner différentes applications de façon isolées et elles sont plus légères, car pas besoin d’OS pour les faire tourner. Tous les containers d’une machine partagent le même OS que la machine hôte, ça leur permet de démarrer rapidement et d’avoir besoin de beaucoup moins de ressources physiques que les VM. Ça permet donc de pouvoir run si l’on souhaite des centaines de containers sur la même machine physique.

L’architecture de Docker

Les containers partagent le Kernel de la machine hôte, c’est le cœur qui manage les applications et les ressources d’une machine, chaque OS a son propre Kernel et ces Kernels ont différentes API : c’est ce qui explique pourquoi on ne peut pas run une application Windows sur un Mac par exemple, c’est parce que cette application a besoin de parler avec le Kernel.

Comment fonctionne concrètement Docker avec une application

On prend n’importe quelle application et pour qu’elle soit utilisable avec Docker, on ajoute un fichier qu’on appellera Dockerfile c’est un fichier plain text qui donne des instructions à Docker pour transformer l’application en image qui contient tout ce que l’appli a besoin pour fonctionner par exemple :

  • Un système d’exploitation réduit
  • Un environnement d’exécution
  • Les fichiers de l’application
  • Les librairies
  • Les variables d’environnement

Une fois qu’on a l’image, on la donne à Docker pour créer un container à partir de cette image, elle est interprétée par Docker pour produire un container.

Une fois qu’on a cette image on la push sur un Docker Registry comme Docker Hub (c’est comme Github : c’est un endroit où on stocke les images Docker) et une fois qu’elles sont sur Docker Hub, on peut utiliser les images Docker sur n’importe quelle machine qui possède l’application.

Concernant l’installation

Pour m’aider à installer Docker j’ai suivi ce tutoriel : https://www.youtube.com/watch?v=XgRGI0Pw2mM

Puis j’ai suivi ces étapes :

Prérequis système

Mon Mac devait répondre à ces exigences :

  • macOS 10.14 ou version ultérieure.
  • Un processeur 64 bits (Intel ou Apple Silicon).
  • Au moins 4 Go de RAM.

Étapes d'installation pour Docker sur Mac

  1. Créer un compte Docker

    Va sur docker.com et crée un compte si tu n'en as pas déjà un.

  2. Télécharger Docker Desktop pour Mac

    Une fois connecté, télécharge Docker Desktop pour Mac à partir de la page de téléchargement.

  3. Installer Docker Desktop

    Ouvre le fichier .dmg téléchargé et fais glisser l'icône Docker dans le dossier "Applications".

  4. Autoriser l'exécution de Docker

    Si tu rencontres un avertissement de sécurité indiquant que l'application provient d'un développeur non identifié, va dans Préférences Système > Sécurité et confidentialité et autorise l'ouverture de Docker.

  5. Démarrer Docker

    Une fois l'installation terminée, Docker devrait démarrer automatiquement.

Article précédentComment j'ai amélioré mon profil LinkedIn pour mieux refléter mon identité professionnelle et optimiser ma visibilitéArticle suivant Postman : Un Outil Indispensable pour les Développeurs

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13