使用 Docker Compose 部署 Nacos 连接 MySQL

在微服务架构中,服务注册与发现是一个关键的组件。Nacos 是一个开源的动态服务发现、配置管理和服务管理平台,可以帮助我们轻松处理微服务架构中的服务注册与发现的问题。而 Docker Compose 则是一个用于定义和运行多容器 Docker 应用程序的工具,可以通过一个单独的配置文件管理多个容器的启动和连接。

本文将介绍如何使用 Docker Compose 部署 Nacos,并连接到 MySQL 数据库。我们将按照以下步骤进行操作:

步骤一:安装 Docker 和 Docker Compose

首先,我们需要安装 Docker 和 Docker Compose。请根据自己的操作系统选择相应的安装方式,并确保安装成功。

步骤二:编写 Docker Compose 配置文件

我们需要编写一个 Docker Compose 配置文件来定义 Nacos 和 MySQL 的容器。在项目根目录下创建一个名为 docker-compose.yml 的文件,并将以下内容复制到文件中:

version: '3'
services:
  nacos:
    image: nacos/nacos-server:latest
    ports:
      - 8848:8848
    environment:
      - PREFER_HOST_MODE=hostname
    depends_on:
      - mysql
    networks:
      - nacos-network

  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=nacos
      - MYSQL_USER=nacos
      - MYSQL_PASSWORD=nacos
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - nacos-network

volumes:
  mysql-data:

networks:
  nacos-network:

在这个配置文件中,我们定义了两个服务:nacos 和 mysql。nacos 服务使用 nacos/nacos-server 镜像,mysql 服务使用 mysql:5.7 镜像。我们还定义了一些环境变量来配置 MySQL 数据库的用户名、密码和数据库名称。

步骤三:使用 Docker Compose 启动容器

完成配置文件后,我们可以使用 Docker Compose 启动容器。在命令行中进入到项目根目录,然后执行以下命令:

docker-compose up -d

这将会启动 Nacos 和 MySQL 的容器,并将它们连接到一个自定义的网络中。

步骤四:访问 Nacos 控制台

等待一段时间后,Nacos 和 MySQL 的容器应该已经成功启动了。现在,我们可以通过浏览器访问 Nacos 控制台了。

打开浏览器,并输入 http://localhost:8848/nacos,将会看到 Nacos 的登录页面。使用默认的用户名和密码(用户名:nacos,密码:nacos),登录到 Nacos 控制台。

步骤五:连接 MySQL 数据库

现在,我们已经成功部署了 Nacos,并可以通过 Nacos 控制台管理服务和配置。接下来,我们将介绍如何在 Nacos 中配置连接到 MySQL 数据库。

  1. 在 Nacos 控制台左侧的导航栏中,选择 "配置管理"。
  2. 点击 "配置列表",然后点击 "新建配置"。
  3. 在 "Data ID" 输入框中,输入 mysql.properties
  4. 在 "Group" 输入框中,输入 DEFAULT_GROUP
  5. 在 "配置内容" 输入框中,输入以下内容:
spring.datasource.url=jdbc:mysql://mysql:3306/nacos?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=nacos
spring.datasource.password=nacos

这里的 mysql 是我们在 Docker Compose 文件中定义的 MySQL 服务的名称。

  1. 点击 "发布" 按钮,完成配置的发布。

现在,Nacos 已经配置了连接到 MySQL 数据库的信息。在微服务中,可以使用这些配置信息来连接到 MySQL 数据库。

流程图

flowchart TD
A(安装 Docker 和 Docker Compose) --> B(编写 Docker Compose 配置文件)
B --> C(使用 Docker Compose 启动容器)
C --> D(访问 Nacos 控制台)
D --> E(连接 MySQL 数据库)

状态图

stateDiagram
    [*] --> 安装 Docker 和 Docker