39- Docker-Compose

www.itgalaxy.io 

Docker-compose est un outil officiel Docker qui permet de simplifier le déploiement d’applications complexes (avec de nombreux conteneurs) sur un seul serveur en utilisant un simple fichier texte de
description au format yaml. Il reprend l’ensemble des options qui seraient normalement à fournir à un docker run.

  • Docker-compose permet de lancer une stack de conteneur via un seul fichier : docker-compose.yml.
  • Il gère le conteneur et aussi les liens entre eux.

Installation Docker-compose :

$ sudo pip install docker-compose
$ docker-compose -v
docker-compose version 1.22.0, build f46880f

Exemple d’utilité de docker compose :

Supposons qu’on a une application qui se construit de trois partie :

  1. Backend wordpress
  2. Une base de donnée Mysql

Sans Docker-compose :

On va lancer les commandes une par une

Exemple :

  1. Lancement de conteneur mysql:

docker run –d –v db_data:/var/lib/mysql–namedbmysql:5.7 –e MYSQL_ROOT_PASSWORD: bonjour

  1. Lancement de conteneur backend wordpresset aussi la liaison avec la dbmysql:

docker run –d –namewordpress–linkdb:mysql wordpress:latest–p 8080:80

Danger : Pas de Versionningde la configuration !!

Avec Docker-compose :

Un seul fichier docker-compose.yml donc versionner pour toute la configuration de notre application.

Version de Docker compose

Service Mysql avec l’image mysql:5.7

On peut aussi utiliser un Dockerfile en précisant l’emplacement de Dockerfile dans le champs build (exemple suivant ).

Volumes persistant : db_datahost path, /var/lib/mysql: conteneur.

Variables d’environnement essentiel pour la création de la DB mysql: root_password, le nom de la database, un user /pwdautre que root.

Service Wordpress exposer à l’aide de port 8080

On peut aussi utiliser notre Dockerfile dans docker-Compose pour builder notre image Docker.

Le Path de Repertoire ouse trouvele fichier Dockerfile

Le nom de fichier Dockerfile

Les commandes Docker-Compose :

  1. docker-compose up
  2. docker-compose down
  3. docker-compose restart
  4. docker-compose exec
  5. docker-compose logs

docker-compose up :

démarre les services décrits dans mon docker-compose.ymlet ne me rend pas la main.

docker-compose up –d :

fait la même chose mais me rend la main une fois que les services sont démarrés.

docker-compose up –build:

reconstruit les services avant de les lancer.

docker-compose down :

stoppe les services.

docker-compose restart :

redémarre l’ensemble des services.

docker-compose restart nginx

redémarre un des services (ici nginx ).

docker-compose restart :
redémarre l’ensemble des services.

docker-compose restart nginx :
redémarre un des services (ici nginx )

docker-compose exec rails bash :
me fournit une console bashau sein du conteneur rails.

docker-compose execrails bin/rails db:migrate :
effectue un rails db:migrate au sein du conteneur rails.

docker-compose logs :

me retourne l’ensemble des logs des services depuis le dernier démarrage et me rend la main.

docker-compose logs -f :

affiche les logs des services et continue à les «écouter» sans me rendre la main.

docker-compose logs -f rails :

fait la même chose pour le conteneur rails uniquement.






1. Nous contactez


2. Infra as a Service

  • Description: Infrastructure cloud évolutive et sécurisée
  • Links:

3. Projets Développeurs


4. Développeurs


5. Formations Complètes


6. Marketplace

7. Blogs


This website is powered by ItGalaxy.io