Tous les services opérationnels Devise EUR Aucun frais de mise en service Vous êtes à La Réunion ?
‹ Guides pour choisir

Qu'est-ce que Docker ? Conteneurs et images

Docker est un outil qui fait tourner une application dans un conteneur : une boîte isolée qui contient le programme et tout ce dont il a besoin pour démarrer, bibliothèques et réglages compris. Le conteneur fonctionne de la même façon sur votre ordinateur et sur un serveur, ce qui supprime le classique « ça marche chez moi ». On installe ainsi une application en une commande, sans toucher au reste du système, et on la retire aussi proprement.

Par Jonathan Dewaele · publié le

Le principe

La documentation de Docker le présente comme une plateforme ouverte pour développer, livrer et exécuter des applications, en les séparant de l'infrastructure. Deux notions suffisent pour commencer :

  • l'image est un modèle en lecture seule, qui contient tout ce qu'il faut pour créer un conteneur. Elle se construit à partir d'un fichier de recette, le Dockerfile, ou se télécharge toute prête ;
  • le conteneur est une image en train de tourner. On le crée, on l'arrête, on le supprime ; ce qui n'est pas rangé dans un stockage durable disparaît avec lui.

Les images se partagent par des registres. Docker Hub est le registre public interrogé par défaut ; une entreprise peut aussi tenir son propre registre privé.

Conteneur ou machine virtuelle

Machine virtuelleConteneur
Contenuun système d'exploitation entier, avec son noyauun processus isolé et ses fichiers
Noyaule siencelui de la machine hôte, partagé
Poidslourd, démarre comme un ordinateurléger, démarre en quelques secondes

D'après la page de Docker sur les conteneurs, lancer une machine virtuelle pour isoler une seule application coûte cher en ressources, alors que les conteneurs partagent le même noyau et tiennent plus nombreux sur la même machine. Les deux se combinent souvent : un serveur virtuel, comme un VPS, fait tourner Docker et plusieurs conteneurs. Voir Qu'est-ce qu'un VPS.

Ce que l'on fait avec Docker

  1. Installer des applications toutes prêtes : un gestionnaire de mots de passe, un outil d'automatisation, un cloud de fichiers, un outil de surveillance. L'éditeur publie l'image, vous la lancez.
  2. Faire tourner plusieurs applications côte à côte sans qu'elles se gênent, chacune avec sa version de langage et ses dépendances.
  3. Déployer son propre code de la même façon en test et en production.
  4. Décrire un ensemble de services dans un seul fichier avec Docker Compose : l'application, sa base de données, son cache. Voir Docker Compose.

Ce qu'il faut savoir avant de s'y mettre

  • Les données se rangent à part. Un conteneur est jetable : ce qui doit survivre à sa suppression, comme une base de données ou des fichiers envoyés, va dans un volume ou un dossier monté.
  • Une image se met à jour. Les éditeurs publient des versions corrigées ; il faut les télécharger et recréer le conteneur, ce que décrit Mettre à jour un conteneur Docker.
  • Un port publié n'est pas forcément ouvert. Selon le pare-feu du serveur, une application qui écoute sur un port peut rester injoignable depuis Internet, ce qui est souvent voulu.

Chez Hubspace

Nos VPS sont livrés avec Docker et Docker Compose installés depuis le dépôt officiel de Docker. Le compte admin peut lancer docker sans sudo. Le pare-feu n'ouvre que les ports 22, 80 et 443, y compris pour les ports que Docker publie : une base de données lancée dans un conteneur n'est donc pas exposée par accident. Pour servir plusieurs applications sur les ports 80 et 443, on place un reverse proxy devant elles : voir Qu'est-ce qu'un reverse proxy. L'installation sur un autre serveur est décrite dans Installer Docker, et les serveurs sur la page des serveurs VPS.

Questions fréquentes

Docker est-il gratuit ?

Docker Engine, le moteur qui fait tourner les conteneurs sur un serveur Linux, est un logiciel libre sous licence Apache 2.0. Docker Desktop, l'application pour ordinateur, suit d'autres conditions : gratuite pour un usage personnel, l'enseignement, les projets open source non commerciaux et les entreprises de moins de 250 salariés et de moins de 10 millions de dollars de chiffre d'affaires annuel, payante au-delà.

Docker remplace-t-il un hébergement WordPress ?

Il peut faire tourner WordPress, mais tout ce que l'hébergeur ferait reste alors à votre charge : mises à jour, sauvegardes, certificat, sécurité. Pour un site seul, un hébergement managé est plus simple.

Faut-il un serveur pour utiliser Docker ?

Non. Docker s'installe aussi sur un ordinateur pour essayer ou développer. Un serveur devient utile quand l'application doit rester joignable en permanence depuis Internet.

Articles liés