Docker: Premiers pas
Gestion Docker à distance rapide et sécurisée avec Stackhero for Docker
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.
Comment utiliser Docker CLI à distance
Docker CLI doit être installé sur votre ordinateur. Si ce n'est pas déjà fait, vous pouvez le télécharger depuis le site officiel de Docker : Docker Desktop.
Avec Stackhero for Docker, vous pouvez gérer vos conteneurs à distance avec Docker CLI, exactement comme vous le feriez en local. Cela signifie que vous conservez votre flux de travail habituel, mais vous pouvez maintenant exécuter vos commandes directement sur votre serveur Docker prêt pour la production, de façon sécurisée et efficace.
Les "contexts" Docker rendent cela possible. Les contexts vous permettent d'indiquer à Docker CLI où envoyer vos commandes : vers votre démon Docker local ou vers votre instance Stackhero for Docker. Le changement de context est rapide et transparent.
Installer les certificats Docker
Pour vous connecter de façon sécurisée à votre instance Stackhero for Docker, vous devez installer ses certificats sur votre ordinateur. Ces certificats gèrent l'authentification et le chiffrement, assurant ainsi la confidentialité et la protection de votre connexion.
Vous pouvez utiliser la commande suivante pour télécharger et configurer les certificats :
# HOST correspond au nom de domaine de votre instance Docker (<XXXXXX>.stackhero-network.com).
# SERVICE_ID est l'identifiant de votre service Stackhero.
# CERTIFICATES_PASSWORD est le mot de passe défini dans la configuration Docker sur le dashboard Stackhero.
(export HOST="<XXXXXX>.stackhero-network.com"
export SERVICE_ID="<SERVICE_ID>"
export CERTIFICATES_PASSWORD="<CERTIFICATES_PASSWORD>"
cd /tmp/ \
&& curl -o certificates.tar https://docker:$CERTIFICATES_PASSWORD@$HOST/stackhero/docker/certificates.tar \
&& tar -xf certificates.tar \
&& (docker context rm -f $HOST 2> /dev/null || true) \
&& docker context create $HOST \
--description "$SERVICE_ID ($HOST)" \
--docker "host=tcp://$HOST:2376,ca=ca.pem,cert=cert.pem,key=key.pem")
Cette commande crée un context Docker nommé d'après le domaine de votre service. Vous pouvez voir tous les contexts disponibles avec :
docker context ls
Si vous modifiez le domaine de votre service, vos certificats seront modifiés. Vous devrez les réinstaller pour pouvoir vous reconnecter de façon sécurisée.
Exécuter des conteneurs Docker à distance
Par défaut, l'exécution de docker ps affiche les conteneurs présents sur votre machine locale. Par exemple, lancer :
docker run --rm alpine wget -q -O - ifconfig.me
affichera l'adresse IP publique de votre ordinateur, puisque le conteneur s'exécute localement.
Pour travailler à distance, basculez le context Docker vers votre instance Stackhero for Docker :
docker context use <XXXXXX>.stackhero-network.com
Désormais, chaque commande Docker CLI s'exécutera sur votre serveur Docker distant. Lancer la même commande de vérification d'IP :
docker run --rm alpine wget -q -O - ifconfig.me
affichera l'adresse IP publique de votre instance Stackhero for Docker. Cela confirme que vos conteneurs tournent bien sur le serveur distant.
Pour revenir à votre démon Docker local, il suffit d'exécuter :
docker context use default
Lorsque vous montez un volume dans un conteneur distant, les fichiers accessibles proviennent du serveur distant, et non de votre ordinateur local. Par exemple,
docker run -it -v ${PWD}:/mnt alpinemontera le répertoire distant, pas votre répertoire local actuel.
Déployer avec Docker Compose
Docker Compose utilise également le context Docker actif. Une fois que vous avez positionné le context sur l'instance distante avec :
docker context use <XXXXXX>.stackhero-network.com
toutes les commandes Docker Compose que vous exécutez s'appliqueront à votre serveur distant. Cela rend le déploiement d'applications multi-conteneurs aussi simple qu'en local, mais directement sur votre environnement de production.
Changer de context avec
docker contextest pratique pour un usage interactif. Pour les scripts ou Makefiles, la variable d'environnementDOCKER_CONTEXTvous donne un contrôle supplémentaire. Vous trouverez plus de détails dans notre documentation avancée.
Pour approfondir l'utilisation des contexts Docker, la documentation officielle Docker sur les contexts vous apportera des informations complémentaires.