Docker Profile
Docker profile ou comment lancer de façon sélective des containers avec docker compose.
Bonjour,
Docker c'est génial mais il me manquait une chose : la possibilité avec compose de lancer un container spécifique depuis votre fichier yaml. Je m'explique : vous avez votre fichier yaml avec vos containers principaux et quand vous voulez tester un nouveau container, il faut le rajouter (copier/coller) et ensuite après l'essai le virer (et la je le "stock" dans un fichier archive). Si bien évidemment vous avez un docker compose par container, tant mieux pour vous mais en terme de maintenance c'est inefficace.
Et bah maintenant c'est terminé ! Plus besoin de copier / coller et d'archiver mes essais. Quand vous créer un docker il suffit de rajoute la ligne "profiles: ["monprofile"]". Petit exemple dans le container speedtest:
speedtest: # Openspeedtest # https://hub.docker.com/r/openspeedtest/latest image: openspeedtest/latest:latest container_name: speedtest restart: unless-stopped profiles: ["speedtest"] security_opt: - no-new-privileges:true networks: - traefik ports: - "$SPEEDTEST_PORT_HTTP:3000" - "$SPEEDTEST_PORT_HTTPS:3001" environment: - TZ=$TZ
Ensuite quand vous allez lancer les containers il suffit de déclarer votre profil.
docker-compose --profile speedtest up -d
Il va alors lancer les containers principaux (ceux qui n'ont pas de profil) et les containers qui ont le profil "speedtest". C'est génial.
Vous pouvez bien sur utiliser plusieurs profils à la suite pour faire encore plus de tests. Ca peut donner un truc comme ça :
docker-compose --profile speedtest --profile prod -- profile test up -d
C'est simple, efficace et ça me permet de faciliter grandement la maintenance de mes containers et de pouvoirs lancer ceux dont j'ai besoin uniquement quand nécessaire.
@+