Nacos 是一个轻量级的服务发现、配置管理和服务管理平台,它支持多种语言(Java、Go、Node.js 等)和多种协议(HTTP、gRPC、DNS 等),能够帮助开发者构建微服务体系结构,简化了应用程序在不同环境中的部署和维护。
在本文中,我们将介绍如何使用 Docker 启动并安装 Nacos。
安装 Docker
首先,需要安装 Docker。可以通过官方网站下载适合自己操作系统版本的 Docker,并按照其指导进行安装。
下载 Nacos 镜像文件
在安装完 Docker 后,需要下载 Nacos 镜像文件。可以使用以下命令从 Docker Hub 上拉取最新版本的 Nacos 镜像文件:
docker pull nacos/nacos-server
这会从 Docker Hub 上下载最新版本的 Nacos 镜像文件到你的本地机器上。
启动 Nacos 容器
步骤 1:创建容器网络
在启动 Nacos 容器之前,需要先创建一个容器网络,以便容器之间可以相互访问和通信。可以使用以下命令创建一个名为 nacos_network 的容器网络:
docker network create nacos_network
步骤 2:启动 Nacos 容器
接下来,使用以下命令启动 Nacos 容器:
docker run --name nacos -d \
-p 8848:8848 \
--network nacos_network \
-e MODE=standalone \
nacos/nacos-server
这个命令会启动一个名为 nacos 的容器,并将其绑定到本地机器的 8848 端口。同时,它还会将容器添加到之前创建的 nacos_network 容器网络中,并设置容器模式为 standalone。
步骤 3:访问 Nacos Web 控制台
启动完 Nacos 容器后,就可以通过 http://localhost:8848/nacos 访问 Nacos Web 控制台了。在控制台上,可以进行服务注册、配置管理和服务发现等操作。
配置 Nacos 数据库存储
默认情况下,Nacos 使用内置的 Derby 数据库进行数据存储。虽然 Derby 是一个轻量级的数据库,但当数据量较大时,它可能会导致性能瓶颈和数据丢失的问题。因此,建议将 Nacos 数据库存储改为 MySQL 或 PostgreSQL 等外部数据库。
步骤 1:安装 MySQL 数据库
首先,需要在本地机器或其他服务器上安装 MySQL 数据库。可以使用以下命令安装 MySQL 5.7:
sudo apt-get install mysql-server-5.7
步骤 2:创建 Nacos 数据库和用户
安装完成 MySQL 后,需要创建一个新的数据库和用户,并授予其访问权限。可以使用以下命令创建一个名为 nacos 的数据库和用户:
mysql -u root -p
CREATE DATABASE nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nacos'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'%';
FLUSH PRIVILEGES;
EXIT;
这样,就创建了一个名为 nacos 的数据库和一个名为 nacos 的用户,并赋予它们访问权限。
步骤 3:修改 Nacos 配置文件
在启动 Nacos 容器之前,需要修改配置文件以将 Nacos 数据库存储改为 MySQL。
首先,需要找到容器内部的 nacos 目录,可以使用以下命令进入容器内部:
docker exec -it nacos /bin/bash
cd /home/nacos/conf
在 conf 目录下,可以找到 nacos-mysql.sql 文件。将该文件拷贝到本地机器上,并使用文本编辑器打开该文件。
在该文件中,搜索“jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false”这一行,将其替换为:
jdbc:mysql://mysql_server_ip:3306/nacos?characterEncoding=utf8mb4&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC
将 mysql_server_ip 替换为你的 MySQL 服务器 IP 地址。
同时,在该文件中搜索“spring.datasource.platform=mysql”这一行,并将其取消注释(即删除行首的 # 符号)。
最后,将修改后的 nacos-mysql.sql 文件拷贝回容器内部的 /home/nacos/conf 目录。
步骤 4:重新启动 Nacos 容器
修改完配置文件后,需要重新启动 Nacos 容器。可以使用以下命令停止并删除之前的容器:
docker stop nacos && docker rm nacos
然后,根据之前的步骤启动 Nacos 容器,并加上以下环境变量:
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=mysql_server_ip \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=nacos \
-e MYSQL_SERVICE_PASSWORD=123456 \
将 mysql_server_ip 替换为你的 MySQL 服务器 IP 地址。
启动完容器后,就可以在 Nacos Web 控制台中使用 MySQL 数据库存储了。
总结
本文介绍了如何使用 Docker 启动并安装 Nacos,并讲解了如何将 Nacos 数据库存储改为 MySQL。通过这些步骤,你可以轻松地在自己的机器上搭建起 Nacos 服务注册和配置管理平台,方便进行微服务应用程序开发和部署工作。