⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Utiliser la transformation par défaut de Compose Bridge

Availability: Beta

Compose Bridge fournit une transformation prête à l'emploi pour votre fichier de configuration Compose. Basé sur un fichier compose.yaml arbitraire, Compose Bridge produit :

  • Un Namespace pour que toutes vos ressources soient isolées et n'entrent pas en conflit avec les ressources d'autres déploiements.
  • Une ConfigMap avec une entrée pour chaque ressource config dans votre application Compose.
  • Des Deployments pour les services d'application. Cela garantit que le nombre spécifié d'instances de votre application sont maintenues dans le cluster Kubernetes.
  • Des Services pour les ports exposés par vos services, utilisés pour la communication service-à-service.
  • Des Services pour les ports publiés par vos services, avec le type LoadBalancer pour que Docker Desktop expose également le même port sur l'hôte.
  • Des Politiques réseau pour répliquer la topologie réseau définie dans votre fichier compose.yaml.
  • Des PersistentVolumeClaims pour vos volumes, utilisant la classe de stockage hostpath pour que Docker Desktop gère la création des volumes.
  • Des Secrets avec vos secrets encodés. Ceci est conçu pour un usage local dans un environnement de test.

Il fournit également une surcouche Kustomize dédiée à Docker Desktop avec :

  • Loadbalancer pour les services qui doivent exposer des ports sur l'hôte.
  • Un PersistentVolumeClaim pour utiliser le provisioner de stockage Docker Desktop desktop-storage-provisioner pour gérer le provisioning de volumes plus efficacement.
  • Un fichier Kustomize pour lier toutes les ressources ensemble.

Utiliser la transformation par défaut de Compose Bridge

Pour utiliser la transformation par défaut, exécutez la commande suivante :

$ docker compose bridge convert

Compose cherche un fichier compose.yaml dans le répertoire courant et le convertit ensuite.

La sortie suivante s'affiche :

$ docker compose bridge convert -f compose.yaml 
Kubernetes resource api-deployment.yaml created
Kubernetes resource db-deployment.yaml created
Kubernetes resource web-deployment.yaml created
Kubernetes resource api-expose.yaml created
Kubernetes resource db-expose.yaml created
Kubernetes resource web-expose.yaml created
Kubernetes resource 0-avatars-namespace.yaml created
Kubernetes resource default-network-policy.yaml created
Kubernetes resource private-network-policy.yaml created
Kubernetes resource public-network-policy.yaml created
Kubernetes resource db-db_data-persistentVolumeClaim.yaml created
Kubernetes resource api-service.yaml created
Kubernetes resource web-service.yaml created
Kubernetes resource kustomization.yaml created
Kubernetes resource db-db_data-persistentVolumeClaim.yaml created
Kubernetes resource api-service.yaml created
Kubernetes resource web-service.yaml created
Kubernetes resource kustomization.yaml created

Ces fichiers sont ensuite stockés dans votre projet dans le dossier /out.

Les manifestes Kubernetes peuvent ensuite être utilisés pour exécuter l'application sur Kubernetes en utilisant la commande de déploiement standard kubectl apply -k out/overlays/desktop/.

Note

Assurez-vous d'avoir activé Kubernetes dans Docker Desktop avant de déployer vos transformations Compose Bridge.

Si vous voulez convertir un fichier compose.yaml qui se trouve dans un autre répertoire, vous pouvez exécuter :

$ docker compose bridge convert -f <chemin-vers-fichier>/compose.yaml 

Pour voir tous les drapeaux disponibles, exécutez :

$ docker compose bridge convert --help
Tip

Vous pouvez maintenant convertir et déployer votre projet Compose vers un cluster Kubernetes depuis le visualiseur de fichier Compose.

Assurez-vous d'être connecté à votre compte Docker, naviguez vers votre conteneur dans la vue Conteneurs, et dans le coin supérieur droit sélectionnez Voir les configurations puis Convertir et déployer vers Kubernetes.

Et ensuite ?