Créer des fichiers compose.yaml

Docker : niveau intermédiaire

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • Fichier texte où l'alignement compte (comme en Python)
  • Utilisé dans de nombreux contextes de développement pour la configuration
  • Les règles peuvent être subtiles : alignez les entrées comme dans les exemples
services:
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    restart: always
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:latest
    ports:
      - "5050:80"
    restart: always
Docker : niveau intermédiaire

Sections principales

  • Des sections distinctes gèrent chaque composant
  • services: liste les conteneurs à charger
  • networks: gère la configuration réseau
  • volumes: contrôle le montage des volumes
  • configs: gère les options de configuration sans images personnalisées
  • secrets: options pour mots de passe, jetons, clés d'API, etc.
  • Voir la documentation Docker Compose pour plus d'infos
services:
  ... # Définir les conteneurs

networks: ... # Définir les paramètres réseau
volumes: ... # Définir les besoins de stockage
configs: ... # Définir les paramètres spéciaux
secrets: ... # Définir mots de passe / etc.
1 https://docs.docker.com/compose/compose-file/
Docker : niveau intermédiaire

Section services

  • Définit toutes les ressources requises par l'application
  • Indique surtout les conteneurs et images à utiliser
  • De nombreuses options existent, mais s'appliquent à chaque conteneur individuellement
  • L'indentation s'applique selon les besoins
  • Première sous-section : nom de chaque composant, puis ses paramètres
Docker : niveau intermédiaire

Exemple de services

services:

# Nom de la ressource postgres:
# Nom du conteneur, sinon aléatoire container_name: postgres
# Image de conteneur à utiliser image: postgres:latest
# Mappage de ports requis ports: # Détails réseau - "5432:5432"
# Ressource suivante pgadmin: ...
  • Nom de la ressource
  • container_name:, nom attribué au conteneur, sinon il est aléatoire
  • image:, image de conteneur à utiliser
  • ports:, liste de mappages de ports requis
  • Puis les autres ressources nécessaires
Docker : niveau intermédiaire

Commentaires supplémentaires

  • La syntaxe de config.yaml est vaste
    • Nous ne couvrons qu'une petite partie des options de compose.yaml
    • Consultez la documentation !
  • Il est rarement nécessaire de créer un fichier compose.yaml à partir de zéro
1 https://docs.docker.com/compose/compose-file/
Docker : niveau intermédiaire

Passons à la pratique !

Docker : niveau intermédiaire

Preparing Video For Download...