Aller au contenu principal

install-docker-compose

Install docker-compose

Interêts pourquoi docker-compose ?

  1. Lancer les conteneurs à coordonner c'est facile
  2. Bonne gestion des dépendances (réseau, volumes)
  3. Un service comprend 1 à plusieurs conteneurs
  4. Comme pour dockerfile : partage facile, versionning

[Docker-compoe] documentation-docker

Install docker-compose

Utilisez curl pour télécharger le fichier Compose dans le répertoire /usr/local/bin.

[Step1]

sudo curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

[Step2]

Ensuite, définissez les permissions correctes pour que la commande docker-compose soit exécutable.

chmod +x /usr/local/bin/docker-compose

[Commandes]

Build et run des images

docker-compose build

Exécute conteneur

docker-compose up

Mode détaché (docker run -d):

  1. docker-compose up -d

Gestion du service

Voir l'etat des serives

docker-compose ps

Démmarage des services

docker-compose start

Stopper les services

docker-compose stop

Lancer 3 instances

docker-compose scale SERVICE=3

Mettre à jour les images

docker-compose pull

Cas pratique wordpress secrets

cas pratique

services:
db:
image: mysql:latest
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_root_password
- db_password

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_password

secrets:
db_password:
file: db_password.txt
db_root_password:
file: db_root_password.txt

volumes:
db_data: