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
|
## Le démon docker et son client
|
||||||
|
|
||||||
Docker est une application en mode client-serveur. *dockerd* est un démon qui
|
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
|
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
|
interagir avec un démon en local (sur la même machine) ou avec un démon sur une
|
||||||
machine distante.
|
machine distante.
|
||||||
|
@ -35,6 +35,34 @@ push`).
|
||||||
|
|
||||||
Un conteneur est une instance exécutable d'une image.
|
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
|
## docker registry
|
||||||
|
|
||||||
Un *registry* sert à héberger des images docker. Il existe des registres
|
Un *registry* sert à héberger des images docker. Il existe des registres
|
||||||
|
|
Loading…
Reference in a new issue