Maison >base de données >tutoriel mysql >Comment se connecter en toute sécurité à un conteneur MySQL à partir d'un autre conteneur dans Docker ?

Comment se connecter en toute sécurité à un conteneur MySQL à partir d'un autre conteneur dans Docker ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 10:16:291075parcourir

How to Securely Connect to a MySQL Container from Another Container in Docker?

Accéder au conteneur MySQL à partir d'un autre conteneur

Dans un environnement dockerisé, la connexion à une base de données hébergée dans un conteneur distinct peut poser un défi. Bien que l'utilisation de l'adresse IP du conteneur pour la connectivité de la base de données puisse sembler simple, elle introduit des risques et des limitations potentiels.

Heureusement, Docker fournit une solution plus robuste via des réseaux définis par l'utilisateur. En créant un réseau et en y connectant les conteneurs MySQL et clients, vous pouvez établir une communication fiable et sécurisée entre eux.

Étape 1 : Créer un réseau

Exécuter la commande suivante pour créer un réseau personnalisé nommé "my_network" :

docker network create my_network

Étape 2 : Démarrez le conteneur MySQL

Démarrez le conteneur MySQL au sein du réseau créé :

docker run -d --name mysql_container --network my_network my_mysql_image

Étape 3 : Démarrez le conteneur client

De même, démarrez le conteneur client sur le même réseau :

docker run -d --name php_container --network my_network my_php_image

Étape 4 : Script de connectivité de base de données

Dans le conteneur client, vous pouvez établir la connectivité de base de données à l'aide du nom d'hôte du conteneur MySQL :

<code class="php">$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");</code>

Avantages de l'utilisation de l'utilisateur -Réseaux définis

L'utilisation de réseaux définis par l'utilisateur offre plusieurs avantages :

  • Résolution du nom d'hôte : Chaque conteneur du réseau peut communiquer en utilisant les noms de conteneurs comme noms d'hôtes.
  • Isolement du réseau : Par défaut, les conteneurs sur différents réseaux sont isolés et ne peuvent pas communiquer.
  • Sécurité : Les réseaux personnalisés permettent une contrôle d'accès et isolation, réduisant les vulnérabilités potentielles en matière de sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn