Créer des fichiers compose.yaml

Docker intermédiaire

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • Fichier texte, mais l'alinéa compte (comme en Python)
  • Utilisé pour la configuration dans de nombreux scénarios de développement
  • 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 intermédiaire

Sections principales

  • Des sections distinctes gèrent des composants distincts
  • services: répertorie les conteneurs à charger
  • networks: gère les définitions réseau
  • volumes: contrôle tout montage de volume
  • configs: gère des options de configuration sans images personnalisées
  • secrets: offre des options pour gérer mots de passe, jetons, clés d'API, etc.
  • Consultez la documentation de Docker Compose pour en savoir plus
services:
  ... # Définir les conteneurs

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

Section services

  • Définit toutes les ressources nécessaires à l'application
  • Spécifie surtout les conteneurs et images à utiliser
  • De nombreuses options existent, mais s'appliquent au(x) conteneur(s) concerné(s)
  • L'indentation s'applique au besoin
  • La première sous-section est le nom de chaque composant, suivi des paramètres
Docker 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
# Tout mappage de port 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 tout mappage de ports requis
  • Puis les autres ressources requises
Docker 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 intermédiaire

Passons à la pratique !

Docker intermédiaire

Preparing Video For Download...