Tout savoir sur Docker

DockerCréée en 2013, Docker est une technologie Open source qui permet la construction, le déploiement et la production d’applications distribuées.

Autrement dit, il facilite les déploiements d’applications sur différents systèmes et sur des serveurs web. On parle alors de déploiement dans des conteneurs.
Il fonctionne en utilisant l’isolation comme méthode de cloisonnement au niveau du système d’exploitation.

Docker et le principe de conteneur

Pour mieux comprendre Docker, il faut parler du transport de marchandises. En effet, avant l’arrivée des conteneurs, le transport des marchandises était très contraignant: beaucoup d’espace utilisé, nombreuses heures d’attente pour charger et décharger.

Ainsi, un conteneur permet de standardiser les envois alors que Docker permet de standardiser les opérations.

Voici deux cas pratiques où Docker présente de nombreux avantages :

Cas n°1 : le développement d’un projet web

Une équipe de développement travaille sur le même projet web. Cependant, une personne développe sous Windows, une autre sous Linux et une dernière sur Mac OS.

Pour travailler ensemble, les collaborateurs doivent configurer les mêmes outils dans des OS différents, cela pose un problème de compatibilité. Il en est de même pour les personnes travaillant avec des librairies Linux différentes.

 

Une solution a été utilisée pendant plusieurs années (et l’est toujours) : les machines virtuelles. Chaque développeur utilise son OS/librairies préféré et depuis ce système d’exploitation, une machine virtuelle va être lancée avec un environnement pré-configuré pour qu’il soit le même chez tout le monde (en général un Linux).

Mais en réalité, une machine virtuelle est très gourmande (plusieurs gigas de données) et lente (il faut démarrer un OS). Un conteneur Docker règle ces différents problèmes.

Cas n°2 : le déploiement d’un serveur web

Lors du déploiement d’un serveur web, utiliser une image docker plutôt qu’une machine virtuelle permet une réduction de l’empreinte mémoire à quelques Mo de disques. En effet, le conteneur n’embarque pas d’OS, à la différence de la machine virtuelle.
De même, le déploiement est plus rapide : plus besoin de configurer Apache, PHP, …

Ainsi, si le serveur subit une montée en charge, il suffit de prendre un deuxième serveur vide et de déployer la même image Docker.

Toute l’architecture s’en trouve allégée, comme le montre le schéma ci-dessous :

 

Docker

 

Découvrez nos différents projets développés avec Docker