HowtoDocker : ajout précisions sur les stacks, services et tasks
This commit is contained in:
parent
5c96f19aa1
commit
b809b6dc99
|
@ -13,7 +13,7 @@ Documentation : <https://docs.docker.com/>
|
|||
## Le démon docker et son client
|
||||
|
||||
Docker est une application en mode client-serveur. *dockerd* est un démon qui
|
||||
fournit une API REST afin d'intéragir avec les conteneurs. *docker* est un
|
||||
fournit une API REST afin d'interagir avec les conteneurs. *docker* est un
|
||||
client qui permet d'interagir avec le démon en ligne de commande. Il peut
|
||||
interagir avec un démon en local (sur la même machine) ou avec un démon sur une
|
||||
machine distante.
|
||||
|
@ -35,6 +35,34 @@ push`).
|
|||
|
||||
Un conteneur est une instance exécutable d'une image.
|
||||
|
||||
### Stack, service et task
|
||||
|
||||
Lorsque Docker fonctionne en _swarm mode_ (en cluster), les notions de
|
||||
_stack_, _service_ et _task_ sont introduites, en plus des précédentes.
|
||||
|
||||
Un _service_ est un objet qui contient des informations comme l'image Docker à
|
||||
instancier, des contraintes de placement ou de limitation de ressources, des
|
||||
objets à lier au conteneur qui sera lancé (volumes, réseau, etc…), le nombre
|
||||
de réplicas à démarrer, etc…
|
||||
|
||||
Les services se manipulent avec la commande `docker service`, mais généralement
|
||||
on les définit dans un fichier YAML. On peut définir plusieurs services dans un
|
||||
fichier YAML ainsi que d'autres objets dont les services font référence
|
||||
(_volume_, _network_, _secret_, _config_, etc…). Cet ensemble représente alors
|
||||
une _stack_, que l'on peut manipuler avec la commande `docker stack`.
|
||||
|
||||
Un _service_ démarre donc un ou plusieurs réplicas. Ces réplicas sont appelés
|
||||
des _tasks_. Chaque _task_ lance un et un seul conteneur. Les conteneurs étant
|
||||
des processus Docker indépendant, l'ordonnanceur de Docker Swarm introduit la
|
||||
notion de _task_ afin de manipuler les conteneurs. Concrètement, une _task_
|
||||
représente un conteneur et un état dans lequel il est (_running_, _failed_,
|
||||
_stopped_ et des états transitoires). Sur le même principe qu'une unité
|
||||
systemd, monit ou supervisord peut surveiller ses processus et les redémarrer
|
||||
en cas de besoin, une _task_ Docker se comporte de la même manière avec son
|
||||
conteneur.
|
||||
|
||||
Voir : https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/#services-tasks-and-containers
|
||||
|
||||
## docker registry
|
||||
|
||||
Un *registry* sert à héberger des images docker. Il existe des registres
|
||||
|
|
Loading…
Reference in a new issue