首页  >  文章  >  数据库  >  如何从 Docker 中的另一个容器安全地连接到 MySQL 容器?

如何从 Docker 中的另一个容器安全地连接到 MySQL 容器?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-26 10:16:291002浏览

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

从另一个容器访问 MySQL 容器

在 Docker 化环境中,连接到托管在单独容器中的数据库可能会带来挑战。虽然使用容器的 IP 地址进行数据库连接看似简单,但它带来了潜在的风险和限制。

幸运的是,Docker 通过用户定义的网络提供了更强大的解决方案。通过创建网络并将 MySQL 和客户端容器连接到该网络,您可以在它们之间建立可靠且安全的通信。

第 1 步:创建网络

运行使用以下命令创建名为“my_network”的自定义网络:

docker network create my_network

第 2 步:启动 MySQL 容器

在创建的网络中启动 MySQL 容器:

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

第 3 步:启动客户端容器

同样,在同一网络上启动客户端容器:

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

第4步:数据库连接脚本

在客户端容器内,您可以使用MySQL容器的主机名建立数据库连接:

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

使用用户的好处-定义的网络

利用用户定义的网络有几个优点:

  • 主机名解析:网络上的每个容器都可以使用容器名称进行通信作为主机名。
  • 网络隔离:默认情况下,不同网络上的容器是隔离的,无法通信。
  • 安全性:自定义网络允许细粒度访问控制和隔离,减少潜在的安全漏洞。

以上是如何从 Docker 中的另一个容器安全地连接到 MySQL 容器?的详细内容。更多信息请关注PHP中文网其他相关文章!

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