Contrairement à la virtualisation, il permet de mettre rapidement en place des services en les isolants dans des “conteneurs”. Cette méthode à l'avantage de consommer peu de ressources vu qu'il utilise directement les ressources de la machine physique.
Pour une présentation plus approfondis, je vous conseil vivement de suivre la vidéo de Grafikart.
Forces | Faiblesse |
---|---|
Multiplate-forme (windows, linux, bsd, arm) | Ne fonctionne pas sur les systèmes 32 bits |
Permet de contrôler les ressources d'un processus efficacement | N'est pas aussi bien sécurisé qu'une VM |
Permet de déployer une application très rapidement | Requière de l'espace de stockage |
Interconnexion aux conteneurs chiffré nativement | Trop de méthodes disponible pour administrer des conteneurs |
Valorise l'automatisation de services | Solution jeune et évolue très vite |
Docker est encore très jeune. J'insiste sur ce point car il y a des commandes qui changent de comportement voir même qui disparaisse en fonction des versions. (par exemple, les commandes “docker container ps” et “docker container ls” sont identique à la version 17.03.1-ce…“)
Le problème majeure quand on débute avec Docker est l'usage de l'espace disque. Par défaut, les images et conteneurs sont placé dans /var/lib/docker. On peut changer cette enplacement par /home/mon-user/docker en modifiant le /etc/init.d/docker et en ajoutant l'option suivante :
case "$1" in start) [...] start-stop-daemon --start --background \ --no-close \ --exec "$DOCKERD" \ --pidfile "$DOCKER_SSD_PIDFILE" \ --make-pidfile \ --data-root="/home/mon-user/docker" \ -- \ -p "$DOCKER_PIDFILE" \ $DOCKER_OPTS \ >> "$DOCKER_LOGFILE" 2>&1 [...]
Par ailleurs, ces paquets peuvent être utile si l'on choisit une image minimale :