Docker-compose
Dans le post précèdent sur docker, j’avais expliqué comment automatiser la création des containers grâce au Dockerfile
aujourd’hui je vais expliquer docker-compose
Intro.
Dans un projet, il n’y a rarement qu’une seule instance. Voir il peut y avoir plusieurs fronts et une seule base de donnée. docker-compose est la justement pour organiser cela.
Par exemple le docker-compose.yml
suivant:
1 2 3 4 5 6 7 8 9 |
|
On déclare deux type de containers le container type web et le container de type db. à noter la ligne links
qui fait que le container web partage/vois le container db
Il suffit de faire docker-compose up
(comme un vagrant up
) pour automatiquement lancer deux containers. un container web avec une image php-5.6, et un container avec PostGresSQL
Installation
Il existe deux façons de l’installer soit passer par pip
(pip est l’équivalent de npm
pour le python).
1
|
|
Ou de passer par curl
1 2 |
|
Quelques commandes
Lancer les containers en mode démon (-d
)
1
|
|
Cela crée deux containers
Que l’on peux surveiller grâce à la commande suivante
1 2 3 4 5 |
|
On peux voir les logs
1
|
|
Plus intéressant on peux rajouter des containers..
1 2 3 4 5 |
|
Si je re-liste mes containers
1 2 3 4 5 6 7 |
|
Je viens de multiplier par 3 le nombre de container en une simple commande et sans stopper le système.
Conclusion
Si vous n’avez qu’un seul container docker-compose ne sert pas à grand chose. Mais si vous avez plusieurs containers. Cela ne vaux pas la peine de se priver. Docker-compose contient en fait la liste des container ainsi que leurs configurations si on devait les lancers en la ligne de commande.
Dans le prochain post sur docker, je vais tenter docker-machine
.