"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo conectarse a un contenedor MySQL desde otro contenedor en Docker?

¿Cómo conectarse a un contenedor MySQL desde otro contenedor en Docker?

Publicado el 2024-11-08
Navegar:166

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

Conectarse a un contenedor MySQL desde otro contenedor

Ha configurado un contenedor Docker que ejecuta MySQL y ha expuesto el puerto 3306, pero ¿cómo puede hacerlo? ¿Accede a esa base de datos desde otro contenedor?

Usando la dirección IP

Inicialmente, intentó conectarse usando la dirección IP del contenedor MySQL (172.17.0.2). Si bien esto funciona, no es ideal ya que las direcciones IP pueden cambiar.

Redes definidas por el usuario

Un mejor enfoque es utilizar redes definidas por el usuario para conectar contenedores. Puede crear una red y adjuntarle los contenedores MySQL y PHP.

docker network create my_network

Vincular contenedores

Ejecute ambos contenedores en la misma red, proporcionando el nombre de la red usando el indicador --network:

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

Dentro de los contenedores en esa red, puede resolver los nombres de los contenedores y conectarse usando el nombre de host. Por ejemplo, desde el contenedor PHP, podrías conectarte a MySQL usando:

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");

Conclusión

Las redes definidas por el usuario proporcionan una forma más sólida y flexible de conectar contenedores en Docker. El uso de nombres de contenedores como nombres de host simplifica el acceso y elimina la necesidad de depender de direcciones IP.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3