Show Menu
Cheatography

docker-compose Cheat Sheet by

Orchestration de conteneurs avec docker et docker-compose

Docker cheat sheet serie

Orches­tration de conteneurs

docker­-co­mpose up
Lance l'ensemble des conteneurs
docker­-co­mpose stop
Stoppe l'ensemble des conteneurs
docker­-co­mpose kill
Tue l'ensemble des conteneurs
docker­-co­mpose exec 
<se­rvi­ce> <co­mma­nd>
Exécute une commande dans le conteneur

Raccourcis clavier en exécution

Ctrl+c
stoppe les conteneurs (équiv­alent à docker­-co­mpose stop)
Ctrl+c x2
tue les conteneurs (équiv­alent à docker­-co­mpose kill)

Supprimer un volume de données

Supprimer le conteneur MySQL
docker­-co­mpose rm -v <se­rvice name>

ex :
docker­-co­mpose rm -v db
Lister les volumes présents
docker volume ls
Supprimer le volume de données approprié
docker volume rm <volume name>
La suppre­ssion d'un volume est nécessaire en cas de downgrade de base de données par exemple.
La suppre­ssion d'un volume de données supprime la base de données associée. Penser à effectuer une sauvegarde au préalable !

Scalab­ilité avec swarm

Lancer les conteneurs en arrière plan
docker­-co­mpose up -d
Dimens­ionner un service (nécessite un service fontal)
docker­-co­mpose scale <se­rvice name>=­<qt­é>

ex :
docker­-co­mpose scale web=4
le port 80 ne peut être publié qu'une fois vers l'hôte.
utiliser un service en reverse proxy vers le service http:/­/web/
       le DNS web est un round-­robin sur web-1, web-2, web-3, web-4
pensez également au partage de sessions (memcached par exemple)
 

Modifi­cations éphémères !

Les modifi­cations struct­urelles effectuées dans un conteneur par l'inte­rmé­diaire de la commande
docker­-co­mpose exec
(insta­llation de paquet, etc.) ne sont jamais persistées !
Lorsque l'on stoppe ou tue le conteneur, les modifi­cations sont supprimées !
Les modifi­cations doiven­t-être réperc­utées dans l'image docker utilisée (dans le
Dockerfile
approp­rié).

Exemple de commandes avec exec

Rentrer dans un conteneur pour un shell interactif
docker­-co­mpose exec web bash
Lancer les tests d'acce­ptance avec
Codece­ption
docker­-co­mpose exec web codecept run acceptance
Mettre à jour
composer
docker­-co­mpose exec web composer -n self-u­pdate
Installer les dépend­ances
composer
docker­-co­mpose exec web composer -n install
Mettre à jour les dépend­ances
composer
docker­-co­mpose exec web composer -n update
Installer les dépend­ances
bower
docker­-co­mpose exec web bower -n install 
--config.interactive=false --allo­w-root
Dans les exemple ci-dessus, nous utilisons web comme service depuis lequel nous souhaitons exécuter les commandes.
Utiliser exit pour sortir d'un conteneur et revenir à l'hôte.
Le drapeau
-n
permet d'indiquer à
composer
qu'on l'exécute en mode non interactif

docker­-co­mpose

 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets