Docker 容器连接 Mysql 数据库教程

阅读时长 5 分钟读完

在实际应用开发中,使用 Docker 部署应用已经成为一种流行的方式。而这种方式也同时遇到了一个问题,那就是如何让 Docker 容器连接到外部的 Mysql 数据库。本文将详细介绍如何使用 Docker 容器连接 Mysql 数据库的方法。

前置知识

在学习本教程之前,请确认您已经了解了以下基础知识:

  • Docker 的基础操作和语法
  • Mysql 数据库的基础操作和语法

准备工作

在进行本教程之前,请确保您已经完成了以下准备工作:

  1. 安装 Docker,如果您还没有安装 Docker,请先安装 Docker。

  2. 安装 Mysql,如果您还没有安装 Mysql,请先安装 Mysql。

Docker 容器连接 Mysql 数据库

本教程将展示如何使用 Docker 容器连接到本地安装的 Mysql 数据库。

  1. 创建一个 Mysql 容器

我们首先需要创建一个 Mysql 容器,使用以下命令:

此命令将创建一个名为 mymysql 的容器,并设置 root 用户的密码为 yourpassword

  1. 检查容器是否创建成功,并获取容器的 IP 地址

使用以下命令来检查容器是否创建成功:

输出如下:

可以看到,我们的容器已经创建成功了。接下来,我们要获取容器的 IP 地址,使用以下命令:

输出如下:

我们将使用这个 IP 地址来作为连接 Mysql 数据库的地址。

  1. 使用连接字符串连接到 Mysql 数据库

接下来,在您的应用程序中使用连接字符串连接到 Mysql 数据库,使用以下格式:

  • <username> 是您要连接到 Mysql 数据库的用户名。
  • <password> 是该用户名对应的密码。
  • <host> 是您要连接到的 Mysql 数据库的 IP 地址,即前面获取到的容器的 IP 地址。
  • <port> 是 Mysql 服务使用的端口,默认是 3306
  • <database-name> 是您要连接的数据库名称。

假设您创建了一个名为 testdb 的数据库,并且用户名是 testuser,密码是 testpassword。那么连接字符串将如下所示:

这里的 IP 地址 172.17.0.2 是您在步骤 2 中获取到的容器的 IP 地址。

使用这个连接字符串即可在您的 Docker 容器中连接到本地安装的 Mysql 数据库了。

示例代码

以下是一个示例的 Node.js 应用程序,该程序使用 Sequelize 库来连接到本地安装的 Mysql 数据库。

-- -------------------- ---- -------
----- --------- - ---------------------

----- -- - --- ------------------------------------------------------------------

----- ---- - ----------------- -
  ----- -
    ----- -----------------
    ---------- -----
  --
  ------ -
    ----- -----------------
    ---------- -----
  -
---

----- -------- ------ -
  --- -
    ----- ------------------
    ----------------------- --- ---- ----------- ----------------

    ----- ----------- ------ ---- ---

    ----- ---- - ------------
      ----- ----- ------
      ------ ----------------------
    ---

    ----- ------------
    ----------------- --- ---- ------- ----------------

    ----- ----- - ----- ---------------
    ---------------- -------- --------------------- ----- ----
  - ----- ------- -
    --------------------- -- ------- -- --- ----------- -------
  -
-

-------
展开代码

此示例代码使用 Sequelize 库,连接到本地安装的 Mysql 数据库,并创建了名为 user 的数据表。程序在该表中创建了一个名为 test user 的用户记录,并且查询了所有用户的记录,将结果输出到控制台。您可以运行此程序来测试您的连接。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67b87213306f20b3a663263a

纠错
反馈

纠错反馈