”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何从 Docker 中的另一个容器连接到 MySQL 容器?

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

发布于2024-11-08
浏览:346

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

从另一个容器连接到 MySQL 容器

您已经设置了一个运行 MySQL 并公开端口 3306 的 Docker 容器,但是如何才能您从另一个容器访问该数据库吗?

使用 IP 地址

最初,您尝试使用 MySQL 容器的 IP 地址 (172.17.0.2) 进行连接。虽然这种方法可行,但并不理想,因为 IP 地址可能会更改。

用户定义的网络

更好的方法是使用用户定义的网络来连接容器。您可以创建一个网络并将 MySQL 和 PHP 容器附加到其上。

docker network create my_network

链接容器

在以下位置运行两个容器同一网络,使用 --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

在该网络上的容器中,您可以解析容器名称并使用主机名进行连接。例如,从 PHP 容器,您可以使用以下方式连接到 MySQL:

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

结论

用户定义的网络提供了一种更强大、更灵活的方式来连接 Docker 中的容器。使用容器名称作为主机名可以简化访问并消除对 IP 地址的依赖。

最新教程 更多>
  • 将 UNIX 时间戳转换为日期时,为什么 SimpleDateFormat.parse 的输出与指定的不同?
    将 UNIX 时间戳转换为日期时,为什么 SimpleDateFormat.parse 的输出与指定的不同?
    SimpleDateFormatter.parse 输出与指定不同使用 SimpleDateFormat 将 UNIX 时间戳转换为日期时,您可能会遇到指定格式与实际格式之间的差异输出。在给定的示例中,目标是将 UNIX 时间戳(“a1527069600”)转换为“dd/MM/yyyy hh:mm:...
    编程 发布于2024-11-09
  • 如何使用 JavaScript 在 Android 浏览器中可靠地检测设备旋转?
    如何使用 JavaScript 在 Android 浏览器中可靠地检测设备旋转?
    使用 JavaScript 检测 Android 浏览器中的设备旋转检测旋转的兼容性挑战使用 JavaScript 检测设备旋转与具有明确定义方法的 iPhone 相比,Android 手机上的浏览器可能更具挑战性。 Android 设备上的行为可能不一致,事件的顺序和频率以及 screen.wid...
    编程 发布于2024-11-09
  • 如何简化 Go 中的结构验证:惯用方法与“go-validator”?
    如何简化 Go 中的结构验证:惯用方法与“go-validator”?
    在 Go 中验证结构体验证结构体值的有效性是软件开发中的一项关键任务。当处理大量小结构时,单独检查每个字段可能很麻烦。让我们探讨一下验证结构的惯用方法和替代解决方案。惯用验证提供的示例是验证结构的常见方法。使用结构体的方法单独检查每个字段。然而,随着字段或结构体数量的增加,这种方法变得乏味。替代解决...
    编程 发布于2024-11-09
  • 除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为 bool 的主要场景:语句:if、w...
    编程 发布于2024-11-09
  • 如何使用 PHP 获取 MySQL 中父节点的所有子节点和后代节点?
    如何使用 PHP 获取 MySQL 中父节点的所有子节点和后代节点?
    使用 PHP 结合 MySQL 查询结果获取父级下的所有子节点、孙子节点等本文将引导您完成一种检索所有子节点和后代节点的方法使用 PHP 和 MySQL 查询结果的指定父级。这种技术消除了构建树结构的多维数组的需要,使您能够直接获取所有节点。考虑一个以邻接列表形式组织的 MySQL 表,其中层次结构...
    编程 发布于2024-11-09
  • 如何解决 Ajax XMLHttpRequest 文件上传中的“未找到多部分边界”错误?
    如何解决 Ajax XMLHttpRequest 文件上传中的“未找到多部分边界”错误?
    使用 Ajax XMLHttpRequest 上传文件:解决“未找到多部分边界”错误尝试使用 XMLHttpRequest 上传文件时,您可以遇到类似“请求被拒绝,因为未找到多部分边界”的错误。当文件未作为 multipart/form-data 请求正确发送时,就会出现此问题。一个常见错误是将文件...
    编程 发布于2024-11-09
  • HTML/CSS 课程 - 课程或年级
    HTML/CSS 课程 - 课程或年级
    HTML/CSS 课程 - 第 1 课细分 第 1 课:基本 HTML 回顾和高级 HTML 元素简介 客观的: 刷新基础 HTML 标签。 引入中级HTML元素来构建更多功能的网页。 1。 HTML结构简介 首先简要说明 HTML 如何使用标签组织网页内容。强...
    编程 发布于2024-11-09
  • 如何在 Go 中使用自定义 UnmarshalJSON 处理嵌入式结构?
    如何在 Go 中使用自定义 UnmarshalJSON 处理嵌入式结构?
    错误处理:嵌入式结构的自定义解组在 Go 中,当将 JSON 数据解组到具有嵌入式字段的结构时,如果嵌入式结构定义了其自己的 UnmarshalJSON 方法。这是因为 JSON 库调用嵌入结构的 UnmarshalJSON 并忽略包含结构中定义的字段。案例研究考虑以下结构定义:type Outer...
    编程 发布于2024-11-09
  • 带有虚拟主机的 PHP Apache 项目
    带有虚拟主机的 PHP Apache 项目
    创建项目目录 首先,为您的项目创建一个目录。例如,让我们创建一个名为 php: 的目录 sudo mkdir /var/www/html/php 创建 PHP 测试文件 在项目目录中创建一个index.php文件: echo "<?php phpinfo();...
    编程 发布于2024-11-09
  • 如何在 JavaScript 中基于唯一属性合并对象数组?
    如何在 JavaScript 中基于唯一属性合并对象数组?
    在 JavaScript 中基于唯一项组合数组合并数组可能是 JavaScript 中的一项常见任务,特别是当需要基于以下项组合数据时具体标准。在此特定实例中,目标是组合基于共享 lineNumber 属性的对象数组,从而生成具有 lineNumber 的对象数组和相应 cellWidth 值的数组...
    编程 发布于2024-11-09
  • 如何在共享托管平台上安装 Composer?
    如何在共享托管平台上安装 Composer?
    在共享托管平台上访问 Composer在共享托管环境上安装 Composer 面临着独特的挑战,但只要采取正确的方法,这是可能的。让我们探索一种行之有效的方法,在共享主机上获取 Composer,为您提供必要的可访问性。首先,在您的系统上找到下载的composer.phar 文件。找到后,继续执行以...
    编程 发布于2024-11-09
  • 了解 DOM 事件
    了解 DOM 事件
    DOM 事件使网页具有交互性。使用 DOM 事件可以实现页面点击或表单提交,它可以让开发人员创建引人入胜的用户体验。 DOM 事件的一些示例包括用户单击鼠标时、加载网页时、加载图像时、提交 HTML 表单时以及用户按下某个键时。 在本文中,我们将简化 DOM 事件中的关键概念并探讨如何处理它们。 ...
    编程 发布于2024-11-08
  • 为什么 PHP 中的“+”运算符不连接数组?
    为什么 PHP 中的“+”运算符不连接数组?
    理解 PHP 中的数组串联尝试使用 ' ' 运算符组合两个数组时,用户可能会遇到意外结果。这就是为什么以下代码没有按预期连接数组的原因:$array = array('Item 1'); $array = array('Item 2'); var_dump($array);此代码将...
    编程 发布于2024-11-08
  • 为什么 IE 日期构造函数与 Chrome 和 Firefox 日期处理不同?
    为什么 IE 日期构造函数与 Chrome 和 Firefox 日期处理不同?
    IE 日期构造函数问题:NaN 与其他浏览器中的功能在涉及 JavaScript 日历开发的项目中,日期处理中出现了差异Internet Explorer (IE) 以及 Firefox 和 Chrome 等浏览器。具体来说,IE 的日期函数产生 NaN(非数字)值,而它们在其他浏览器中正常运行。经...
    编程 发布于2024-11-08
  • 如何使用正则表达式删除 PHP 字符串中的特定特殊字符,同时保留其他字符?
    如何使用正则表达式删除 PHP 字符串中的特定特殊字符,同时保留其他字符?
    PHP:从字符串中删除特殊字符在 PHP 中,从字符串中删除特殊字符可能是一项常见任务,尤其是在处理用户输入或外部数据时。面临的挑战是删除所有不需要的字符,而不改变标点符号或空格等基本字符。为了解决这个问题,通常使用正则表达式。但是,当尝试删除特定特殊字符并保留其他特殊字符时,需要对表达式进行修改。...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3