在 Docker 中操作 MySQL 数据库的方法

在前端开发中,使用数据库是非常常见的。而在开发过程中,一些开发者可能会遇到一些挑战,如配置环境问题,数据交换问题等,这大大增加了开发时间和难度。 Docker 技术可以帮助我们解决这些问题。

什么是 Docker?

Docker 是目前流行的容器化技术。容器化技术可以帮助我们创建轻量级的虚拟环境,其中包含应用程序和它们的依赖项。这种解决方案可以通过容器进行交付和升级,而不需要担心配置和版本问题。

Docker 环境的搭建

Docker 的安装可以参考官方文档。

Docker Hub 中有很多 MySQL 的镜像可以选择,这里我们推荐官方镜像。

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

Docker Compose

Docker Compose 是一种工具,它使我们能够定义并运行多容器 Docker 应用程序的单个命令。在这里,我们使用 Docker Compose 定义我们的 MySQL 容器。

新建文件 docker-compose.yml,写入如下代码。

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

在这里我们定义了一个名为 db 的服务,并配置了以下内容:

  • image:使用 MySQL 5.7 的官方镜像
  • restart:随时重新启动服务
  • environment:定义 MySQL 用户名、密码和数据库名称
  • ports:将 MySQL 的 3306 端口映射到宿主机的 3306 端口
  • volumes:指定 MySQL 数据的存储位置

通过执行以下命令运行容器。

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

这样我们就在 Docker 中创建了一个 MySQL 容器。

连接 MySQL 容器

如何连接 MySQL 容器呢?

可以通过以下命令连接容器。

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

将 {容器 ID} 替换为容器的 ID。

也可以通过 MySQL 客户端工具来连接容器。

示例

在这里,我们创建一个 NodeJS 应用程序,并在其内部进行 MySQL 数据库操作。

初始化项目

在终端中执行以下命令,初始化 NodeJS 项目。

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

安装依赖项

在终端中执行以下命令,安装必需的依赖项。

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

编写应用程序

在根目录下创建一个 index.js 文件,写入以下代码。

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

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

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

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

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

你可以根据你的 MySQL 服务器运行的位置进行信息更改。此代码实现了一个简单的 API,该 API 从名为 users 的表中检索所有数据并将其作为 json 数据返回。

编写 Dockerfile

在根目录下创建一个名为 Dockerfile 的文件,写入以下代码。

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

构建镜像

在终端中执行以下命令,构建 Docker 镜像。

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

运行应用程序

在终端中执行以下命令,启动容器。

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

现在,你可以通过浏览器或 curl 访问 http://localhost:3000/users 来测试应用程序。你应该可以看到来自 MySQL 中名为 users 的表的 json 数据。

结论

通过使用 Docker 容器化技术,我们可以克服许多在开发过程中遇到的挑战。在本文中,我们通过 Docker Compose、MySQL、NodeJS 完成了一个简单示例,希望能对你有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6731b63e0bc820c5823a02ed