La profondeur fonctionnelle de Docker et Docker Compose —

Introduction
Docker Composer permet aux utilisateurs d’exécuter et de définir des applications multi-conteneurs à l’aide d’un seul fichier de configuration. Il simplifie le processus de configuration et de gestion de plusieurs conteneurs, facilitant ainsi le développement, le test et le déploiement d’applications.
Dans cet article, vous devez créer une application Flask avec deux conteneurs, utiliser Vultr Container Registry (VCR) pour gérer l’image Docker de vos applications et utiliser la fonctionnalité multi-conteneurs de Docker Compose pour gérer plusieurs conteneurs.
Création d’un exemple d’application
Pour commencer à créer un exemple d’application, procédez comme suit :
- Déployez une instance Vultr Compute à l’aide du Portail client Vultr avec Docker application de marché.
- En toute sécurité accéder au serveur en utilisant SSH comme un utilisateur sudo non root.
- Mettre à jour le serveur.
- Créez un nouveau répertoire de projet et accédez-y.
- Créez un nouveau fichier nommé
app.py
. - Ajoutez le code suivant.
Enregistrez et quittez le fichier.
Le code Flask ci-dessus se connecte à un Rédis Base de données et incrémente le compteur à chaque fois que l’URL racine est visitée.
- Autoriser les connexions entrantes au port
5000
et rechargez le pare-feu. - Créez un nouveau fichier nommé
requirements.txt
. - Ajoutez les packages suivants.
Enregistrez et fermez le fichier.
- Créez un autre répertoire dans le
flask-redis-example
répertoire et accédez-y. - Créez un nouveau fichier nommé
styles.css
. - Ajoutez le code suivant.
Enregistrez et quittez le fichier.
- Créez un autre répertoire dans le
flask-redis-example
répertoire et accédez-y. - Créez un nouveau fichier nommé
index.html
. - Ajoutez le code suivant.
Enregistrez et quittez le fichier.
Utilisation du registre de conteneurs Vultr
Dans cette section, vous devez créer un registre de conteneurs Vultr, télécharger votre image Docker dans le registre et configurer un fichier Docker Compose configurant les services pour Flask et la base de données Redis.
- Déployer un Registre de conteneurs Vultr
- Créez un manifeste Docker dans le
flask-redis-example
annuaire. - Ajoutez la configuration suivante.
Enregistrez et quittez le fichier.
- Créez l’image Docker.
- Connectez-vous à votre registre de conteneurs Vultr.
Assurez-vous de remplacer
<url>
,<user>
et<password>
ces détails sont fournis dans la section de présentation de votre Vultr Container Registry. - Marquez l’image Docker.
- Envoyez l’image vers le registre de conteneurs Vultr.
Une fois l’image Docker poussée, vérifiez la présence de l’image dans le Dépôts dans votre Vultr Container Registry sur le tableau de bord Vultr.
- Créez un nouveau fichier nommé
docker-compose.yaml
.Enregistrez et quittez le fichier.
La configuration YAML ci-dessus définit deux services
web
etredis
. Leweb
le service construit l’application Flask à partir du répertoire actuel (.
) et le port des cartes5000
du conteneur au port5000
de l’hôte. Il précise également que le service web dépend du service Redis. Le service Redis utilise l’image officielle Redis Docker du Docker Hub. - Créez le fichier de composition Docker.
Une fois le processus de construction terminé, accédez à l’application Flask sur
http://<server-ip>:5000
. Essayez d’actualiser le site Web plusieurs fois et observez que le nombre de fois que la page visitée augmente.
Faites-en plus avec Vultr Container Registry
Les meilleures pratiques
- Garder le
docker-compose.yaml
dossier organisé et bien documenté. - Utilisation de volumes nommés pour conserver les données au lieu de lier les répertoires hôtes.
- Utilisation de variables d’environnement pour les données sensibles telles que les mots de passe et les clés API.
- Utilisation des commandes intégrées de Docker Compose comme
docker-compose up
,docker-compose down
etdocker-compose
ps pour gérer les conteneurs.
Conclusion
Dans cet article, vous avez créé une application Flask avec deux conteneurs, utilisé Vultr Container Registry pour gérer l’image Docker de vos applications et utilisé la fonctionnalité multi-conteneurs de Docker Compose pour gérer plusieurs conteneurs.
Il s’agit d’un article sponsorisé par Vultr. Vultr est la plus grande plateforme de cloud computing privée au monde. Un favori des développeurs, Vultr a servi plus de 1,5 million de clients dans 185 pays avec des solutions mondiales flexibles et évolutives de Cloud Compute, Cloud GPU, Bare Metal et Cloud Storage. En savoir plus sur Vultr
Source link