首页  >  文章  >  数据库  >  如何在没有IP地址的情况下从Docker中的其他容器访问MySQL容器?

如何在没有IP地址的情况下从Docker中的其他容器访问MySQL容器?

Patricia Arquette
Patricia Arquette原创
2024-10-26 04:42:30308浏览

How to Access a MySQL Container from Other Containers in Docker Without IP Addresses?

无 IP 地址从其他容器访问 MySQL 容器

在 Docker 环境中,您可能会遇到从另一个容器连接到 MySQL 容器的需要。虽然可以使用 MySQL 容器的 IP 地址建立连接,但这种方法缺乏灵活性。为了提高可访问性,存在替代方法。

一个推荐的解决方案是利用用户定义的网络。与传统的 --link 标志相比,此方法具有多个优点:

  • 简化配置:用户定义的网络允许您为需要通信的所有容器指定公共网络。
  • 提高灵活性:同一网络上的容器可以无缝通信,而无需依赖静态 IP 地址。

要使用用户定义的网络,请按照以下步骤操作:

  1. 创建自定义网络:
docker network create my_network
  1. 在创建的网络上运行容器:
docker run -d --name php_container --network my_network my_php_image

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

一旦容器运行在同一网络上,它们可以使用彼此的容器名称作为主机名进行通信。在这种情况下,PHP 容器可以使用以下代码建立与 MySQL 容器的连接:

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

通过利用用户定义的网络,您可以实现容器到容器的无缝通信,而无需依赖 IP地址,提高灵活性并简化 Docker 环境中的配置。

以上是如何在没有IP地址的情况下从Docker中的其他容器访问MySQL容器?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn