Docker 容器连接数据库实践

阅读时长 4 分钟读完

背景

在当前的软件开发领域中,Docker 已成为一个不可忽视的工具。通过 Docker,我们可以完成软件的快速部署、弹性伸缩以及依赖管理,极大地加快了软件开发和部署的速度。

而在 Web 开发中,数据库连接也是一个很重要的环节。在传统的 Web 开发中,我们需要手动在本地或者服务器上安装不同的数据库软件,并手动配置连接信息。这样的环节很费时费力,也容易出错。而 Docker 的出现解决了这个问题,我们可以通过 Docker 容器轻松完成数据库的部署和连接。

实践

在开始实践前,我们需要安装 Docker。这里不再赘述 Docker 的安装步骤。

安装 MySQL

要使用 Docker 容器连接 MySQL,我们首先需要在 Docker 中安装 MySQL。在终端中输入以下命令:

这个命令会从 Docker Hub 上下载最新版的 MySQL 镜像,并创建一个名为 mysql-server 的容器。-e 参数表示设置 MySQL 的 root 用户密码为 password

接下来,我们可以通过以下命令查看容器是否创建成功:

如果能看到出现了一个名为 mysql-server 的容器,就表示容器创建成功了。

连接 MySQL

接下来,我们需要在代码中连接 MySQL。假设我们使用 Node.js 进行开发。

安装 mysql2 模块:

在代码中连接 MySQL:

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

----- ------ ------- - ----- ------------------------ - ---- --------
------------------
展开代码

这里,我们使用了 mysql2 模块来连接 MySQL。mysql2 是一个对 MySQL 驱动的改进,支持使用 Promise 进行异步操作。

当我们启动 Node.js 代码时,会发现连接失败:

这是因为 MySQL 服务器并没有启动在本地地址,而是在 Docker 容器内。我们需要修改代码中的连接信息:

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

----- ------ ------- - ----- ------------------------ - ---- --------
------------------
展开代码

host 参数修改为容器名 mysql-server 即可。

最后,我们可以通过以下命令启动 Node.js 代码:

这个命令会创建一个名为 node 的容器,并将 mysql-server 容器连接到 node 容器中的 mysql_app 别名上。这样,我们就可以通过 mysql_app 别名访问 MySQL 服务器了。

指导意义

通过本次实践,我们学习到了使用 Docker 容器连接 MySQL 的方法。Docker 的出现极大地简化了软件开发和部署的流程,极大地提高了开发和部署的效率。

同时,在实践中,我们发现 Docker 容器和代码之间的连接较为复杂,需要一些额外的配置。因此,在实际开发中,我们需要根据自己的需求和情况选择合适的工具和方法,来完成 Docker 容器和代码之间的连接。

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

纠错
反馈

纠错反馈