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 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 une simple commande
docker-compose up. Aucune configuration supplémentaire n'est nécessaire : lancez simplement vos containers.- Choisissez votre propre nom de domaine, automatiquement sécurisé en HTTPS (par exemple : https://api.votre-entreprise.com, https://www.votre-entreprise.com ou https://backoffice.votre-entreprise.com).
- Profitez de hautes performances et d'une sécurité renforcée sur une infrastructure privée et dédiée.
- Appliquez les mises à jour en un clic pour une maintenance simple et sans effort.
Vos containers peuvent être en production en environ cinq minutes. Stackhero gère pour vous l'infrastructure, les mises à jour et la sécurité, afin que vous puissiez vous concentrer sur le développement de vos applications. Découvrez-en plus sur l'hébergement cloud Docker CaaS.
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 lignedocker run [...]commence bien par un caractère TAB et non par des espaces.
Utiliser les fichiers .env dans les Makefiles
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 lignedocker run [...]commence par un caractère TAB et non par des espaces.