Image showing Docker peut-il se connecter à la base de données ?

Docker peut-il se connecter à la base de données ?

affiliate best offer

Il existe de nombreuses situations où vous devez connecter une base de données externe car base de données dans un conteneur ne prend pas en charge toutes les fonctionnalités requises par le application ou vous avez besoin de données persistantes dans votre environnement de cluster.

Dans cet article, nous allons connecter une base de données SQL externe au conteneur Web Docker et la base de données externe peut être hébergée sur un serveur SQL dédié ou sur n’importe quel RDS cloud.

Dans cet article, ma base de données SQL est hébergée sur un serveur SQL dédié sur une machine virtuelle. L’application Web est hébergée sur un conteneur Docker. Il se connecte ensuite à la base de données SQL sur la VM.

Commençons!

La mise en place

La base de données de mon application est hébergée sur cette machine SQL et c’est la base de données de l’application.

C’est la deuxième machine sur laquelle j’exécute le conteneur docker pour le web application.

C'est la deuxième machine

Si vous avez besoin d’aide sur le code d’application ou sur la configuration du application sur un conteneur, vous pouvez vérifier ce message sur [[2021-12-26-how-to-expose- un-port-sur-minikube|minikube]].

J’ai configuré les informations de la base de données dans le fichier de configuration Web de l’application.

fichier de configuration Web

J’ai utilisé l’adresse IP de ma base de données MS SQL et le numéro de port. Dans la capture d’écran ci-dessus, vous avez les informations de la base de données.

Vous pouvez également utiliser le nom de domaine complet de votre base de données SQL si ce nom de domaine est résolu à partir du conteneur docker lui-même.

Remarque : Si vous hébergez votre base de données sur un RDS cloud tel que Edge ou ou AWS, vous pouvez utiliser une chaîne de connexion similaire pour connecter votre RDS.

Configurer la pile docker-compose

Compose est un outil de définition et d’exécution d’applications Docker multi-conteneurs. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application. En savoir plus ici.

Ceci est mon fichier de composition docker. Je vais utiliser ce fichier pour lancer mon conteneur Web.

Je suis prêt à lancer mon conteneur Web

Mon conteneur Docker est prêt à être utilisé. Ceci est le conteneur et vous pouvez accéder l’application sur le port et sur le navigateur.

Trouver l’adresse IP de l’hôte docker

Pour pouvoir se connecter au conteneur docker qui exécute notre application, nous avons besoin de l’adresse IP de son hôte.

Pour obtenir l’adresse IP de l’hôte, exécutez cette commande depuis l’ordinateur hôte.

ipconfig

Sur une machine windows, voici le résultat.

Accédez à l’application via le navigateur

Accédons à l’application sur le navigateur en utilisant l’adresse IP de l’hôte.

Succès! L’application est capable de se connecter avec succès à la base de données MS SQL sur une machine virtuelle dédiée. Faisons quelques transactions de base de données sur l’application.

Par exemple, je veux réserver une chambre simple le 2 septembre la chambre simple a été confirmé.

Test sur crash de conteneur

Supposons maintenant que le conteneur Web ait planté. Pour imiter cela, je vais tuer le conteneur manuellement.

Aucun conteneur n’est en cours d’exécution.

Si je vérifie mon application, elle est en panne.

Cela prouve que le lien vers le SQL passe par ce conteneur.

Permettez-moi de redémarrer mon conteneur pour ramener le service.

Un nouveau conteneur a été lancé et mon application devrait être disponible sur le navigateur. Laissez-moi vérifier si ma réservation est toujours là (stockée sur la base de données SQL).

Notre réservation de chambre est disponible pour le 2 septembre car nos données sont stockées dans le volume persistant (la base de données SQL).

Conclusion

Ceci est la démonstration complète de la façon dont vous pouvez connecter votre base de données externe à votre conteneur Web Docker pour stocker vos données dans un volume persistant dans l’environnement de cluster.

You might also like these blog posts

Full Bright

Full Bright

A professional and sympathic business man.

Contact

Contact Us

To order one of our services, navigate to the order service page

Address

10 rue de Penthièvre,
75008 Paris

Email Us

hello at bright-softwares dot com

Open Hours

Monday - Friday
9:00AM - 05:00PM