Docker Presentation
Docker Presentation
Docker Presentation
Introduction
Le système de conteneur
● Docker est un projet Open Source
● Projet démarré en mars 2013
● Levée de fonds (septembre 2014) : 40 millions de $
● Système de machine virtuelle Linux légère
– Pas d'hyperviseur
– Partage du noyau hôte (kernel)
● Basé sur le standard LXC (Linux Containers)
● Entreprise : Docker, Inc.
Virtualisation sous Linux
Le projet Docker
● Développeur principal : Solomon HYKES
● Contributeurs : Andrea Luzzardi, Francois-Xavier
Bourlet, Jeff Lindsay
● Licence : APACHE LICENSE 2.0
● Écrit avec le langage GO
● Version standard pour plateforme Linux 64bits
● Version Boot2Docker pour Windows et OSX
● Site web : www.docker.com
Concepts de base
● Un conteneur Docker interagit avec le système hôte
Linux.
● Les conteneurs d'un même hôte appartiennent à un
réseau virtuel.
– Par défaut 172.17.0.0
– Passerelle par défaut 172.17.42.1
– Par défaut adressage DHCP
● Un conteneur peut empaqueter une application et ses
dépendances et il peut être exécuté sur n'importe
quel serveur Linux.
Architecture Docker
Docker CLI
Ligne de commande
Base
Serveur
De
Docker Daemon WEB
Données
SYSTÈME D'EXPLOITATION
Entrée/Sortie
CPU MÉMOIRE
Interface réseau Stockage Périphériques
Pourquoi Docker ?
● Constat :
– Déployer des applications sur des serveurs est
très fastidieux
● Très pratiqué avec les forges logicielles
– Intégration continue
– Les architectures logicielles sont aujourd'hui
très complexes
● Multiplication des couches et des services
● Solution :
– Isoler chaque service, chaque couche dans un
conteneur léger
Vision Docker
● Brique d'infrastructure
– Comme pour les fermes de machines en lieu et
place des super-calculateurs les conteneurs Docker
distribuent horizontalement l'infrastructure
● Service
– Chaque conteneur embarque un service ou très peu
de services (concept de micro-service)
● Cloud
– Les conteneurs peuvent être déployés dans le cloud
comme solution PAAS.
● OpenStack, OpenShift, OpenSVC
Solution Docker
Conteneur volume
Tous les réseaux port sur le host Linux port du conteneur Docker
peuvent accéder
Solution ports publics (2)
● Commande pour rendre le service d'un conteneur
public avec choix du numéro de port
– docker run -d -p [port:port] [image]
– Exemple :
● docker run -d -p 1530:1530 lecoz/derby