Docker: Premiers pas
Gestion Docker à distance rapide et sécurisée avec Stackhero pour Docker
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.
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 pour Docker, vous pouvez gérer vos conteneurs à distance avec Docker CLI, exactement comme en local. Vous conservez ainsi vos habitudes, tout en exécutant 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 permettent d'indiquer à Docker CLI où envoyer vos commandes : vers votre démon Docker local ou vers votre instance Stackhero pour Docker. Le changement de context est rapide et transparent.
Installer les certificats Docker
Pour vous connecter en toute sécurité à votre instance Stackhero pour Docker, vous devez installer ses certificats sur votre ordinateur. Ces certificats assurent l'authentification et le chiffrement, garantissant la confidentialité et la sécurité de votre connexion.
Vous pouvez utiliser la commande suivante pour télécharger et installer 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 tableau de bord 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 afficher tous les contexts disponibles avec :
docker context ls
Si vous modifiez le domaine de votre service, vos certificats seront renouvelés. Vous devrez les réinstaller pour vous reconnecter en toute sécurité.
Exécuter des conteneurs Docker à distance
Par défaut, la commande docker ps affiche les conteneurs de votre machine locale. Par exemple, l'exécution de :
docker run --rm alpine wget -q -O - ifconfig.me
affiche l'IP publique de votre ordinateur, car le conteneur s'exécute localement.
Pour travailler à distance, basculez le context Docker vers votre instance Stackhero pour Docker :
docker context use <XXXXXX>.stackhero-network.com
Désormais, chaque commande Docker CLI s'exécute 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'IP publique de votre instance Stackhero pour 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. 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 le context positionné sur l'instance distante avec :
docker context use <XXXXXX>.stackhero-network.com
toutes les commandes Docker Compose que vous lancez s'exécutent sur votre serveur distant. Vous pouvez ainsi déployer des applications multi-conteneurs aussi simplement 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 offre 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.