Docker: Usages avancés des contextes
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.
Travailler avec les commandes Docker context use est idéal pour exécuter des commandes manuellement. Mais lors de l'utilisation de scripts, il existe des méthodes alternatives plus adaptées qui simplifient le processus. Au lieu d'invoquer directement la commande, vous pouvez définir le contexte souhaité en utilisant la variable d'environnement DOCKER_CONTEXT. Cette approche s'intègre parfaitement dans les workflows de scripts et maintient une configuration claire.
Dans les exemples fournis, remplacez
<XXXXXX>.stackhero-network.compar le domaine spécifique de votre instance Docker (<XXXXXX>.stackhero-network.com).
Gestion des contextes Docker dans des scripts bash
Voici un exemple de définition du contexte Docker dans un script bash :
#!/bin/bash
set -e
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
echo "IP de Docker pour l'instance Stackhero :"
docker run --rm alpine wget -q -O - ifconfig.me
En définissant la variable d'environnement DOCKER_CONTEXT, vous pouvez gérer facilement le contexte actif directement dans vos scripts.
Externalisation de la configuration avec un fichier .env
Pour éviter de coder en dur la valeur de DOCKER_CONTEXT, vous pouvez la charger depuis un fichier .env. Cette méthode permet de garder les paramètres d'environnement organisés et facilite les ajustements :
#!/bin/bash
set -e
source .env
echo "IP de Docker pour l'instance Stackhero :"
docker run --rm alpine wget -q -O - ifconfig.me
Créez un fichier .env avec le contenu suivant :
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Utilisation des contextes Docker dans des Makefiles
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 lignedocker run [...]commence par un caractère TAB et non par des espaces.
Exploitation des fichiers .env dans les Makefiles
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 lignedocker run [...]commence par un caractère TAB plutôt que par des espaces.