Docker: Utilisation des contextes Docker dans les 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 sur la documentation de Stackhero !

Stackhero propose une solution Docker cloud CaaS (Containers as a Service) prête à l'emploi qui offre de nombreux avantages, notamment :

  • Déployez facilement vos conteneurs en production avec un simple docker-compose up.
  • Nom de domaine personnalisable sécurisé en HTTPS (par exemple, https://api.votre-entreprise.com, https://www.votre-entreprise.com, https://backoffice.votre-entreprise.com).
  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
  • Mises à jour simplifiées en un clic.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Docker CaaS cloud hosting de Stackhero et déployer vos conteneurs en production !

Vous pouvez également définir la variable DOCKER_CONTEXT dans un Makefile. Voici un exemple d'export 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, lancez la commande avec :

make getIp

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

Vous pouvez encore simplifier la configuration en incluant un fichier .env dans votre Makefile. Cette méthode permet 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 obtenez l'erreur Makefile: *** missing separator. Stop., assurez-vous que la ligne docker run [...] commence par un caractère TAB et non par des espaces.