wiki/HowtoDockerCompose.md

89 lines
1.9 KiB
Markdown
Raw Normal View History

2016-10-28 20:15:18 +02:00
---
title: Howto Docker Compose
categories: docker
---
Compose est un outil qui permet de définir et de lancer des applications
Docker multi-conteneurs.
## Installation
### Manuellement
2017-01-20 10:51:37 +01:00
~~~
$ curl -L "https://github.com/docker/compose/releases/download/1.18.0/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
2016-10-28 20:15:18 +02:00
$ chmod +x /usr/local/bin/docker-compose
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
> **Note** : Assurez-vous de récupérer la dernière [release](https://github.com/docker/compose/releases).
Si vous avez l'erreur suivante :
~~~
docker-compose: error while loading shared libraries: libz.so.1: failed to map segment from shared object
~~~
Vous devez changer de TMPDIR ou s'assurer d'avoir monté `/tmp` en exec.
2016-10-28 20:15:18 +02:00
### pip:
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
$ pip install docker-compose
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
## Utilisation de base
### Lancer l'application
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
$ docker-compose up [options]
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
Options courantes:
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
-d : Lancer en mode détaché
--build : Construire les images avant de lancer les conteneurs
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
### Fermer ou forcer la fermeture de l'application
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
$ docker-compose down|kill [options]
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
Options:
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
-v : Supprimer les volumes déclarée dans le fichier docker-compose
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
### *Scaler* un composant de l'application
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
$ docker-compose scale <appname>=<## de conteneurs> ...
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
### Construire ou reconstruire un les images
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
$ docker-compose build [options]
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
Options courantes:
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
--force-rm : Supprimer les conteneurs intermédiaires
--no-cache : Ne pas utiliser le cache lors de la construction
--pull : Toujours tenter de télécharger une version plus récente de l'image
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
## Fichier de configuration
Le fichier qui définit l'application Docker Compose au format YAML est nommée
**docker-compose.yml**.
En voici un exemple:
2017-01-20 10:51:37 +01:00
~~~
2016-10-28 20:15:18 +02:00
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
2017-01-20 10:51:37 +01:00
~~~