Docker: Utilisation des contextes Docker dans des Makefiles

Cette documentation fait partie du guide Usages avancés des contextes. Consultez le guide complet ici : Comment utiliser les contextes Docker dans vos scripts.

Bienvenue dans la documentation Stackhero

Stackhero offre une plateforme Docker cloud CaaS (Containers as a Service) prête à l’emploi, conçue pour des déploiements de containers rapides et fiables :

  • Déployez en production avec un simple docker-compose up. Aucune configuration supplémentaire requise : démarrez simplement vos containers.
  • Choisissez votre propre nom de domaine, automatiquement sécurisé avec HTTPS (par exemple : https://api.votre-entreprise.com, https://www.votre-entreprise.com ou https://backoffice.votre-entreprise.com).
  • Profitez de performances élevées et d’une sécurité robuste sur une infrastructure privée et dédiée.
  • Appliquez les mises à jour en un clic pour une maintenance simple et sans tracas.

Vos containers peuvent être en production en environ cinq minutes. Stackhero prend en charge l’infrastructure, les mises à jour et la sécurité pour vous permettre de vous concentrer sur la livraison de vos applications. Pour en savoir plus sur l’hébergement cloud Docker CaaS.

Vous pouvez également définir la variable DOCKER_CONTEXT dans un Makefile. Voici un exemple d'exportation de la variable et d'exécution d'un conteneur Docker :

# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

Après avoir créé le Makefile, invoquez la commande avec :

make getIp

Si vous rencontrez l'erreur Makefile: *** missing separator. Stop., assurez-vous que la ligne docker run [...] commence par un caractère TAB et non par des espaces.

Vous pouvez simplifier davantage la configuration en incluant un fichier .env dans votre Makefile. Cette approche garantit une gestion centralisée de vos paramètres d'environnement :

# Makefile
include .env
export

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

Créez un fichier .env avec ce contenu :

DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

Puis exécutez la commande :

make getIp

Si vous rencontrez l'erreur Makefile: *** missing separator. Stop., vérifiez que la ligne docker run [...] commence par un caractère TAB plutôt que par des espaces.