一文教你使用 Docker 启动并安装 Nacos

2023-06-04 19:10:31 浏览数 (2)

Nacos 是一个轻量级的服务发现、配置管理和服务管理平台,它支持多种语言(Java、Go、Node.js 等)和多种协议(HTTP、gRPC、DNS 等),能够帮助开发者构建微服务体系结构,简化了应用程序在不同环境中的部署和维护。

在本文中,我们将介绍如何使用 Docker 启动并安装 Nacos。

安装 Docker

首先,需要安装 Docker。可以通过官方网站下载适合自己操作系统版本的 Docker,并按照其指导进行安装。

下载 Nacos 镜像文件

在安装完 Docker 后,需要下载 Nacos 镜像文件。可以使用以下命令从 Docker Hub 上拉取最新版本的 Nacos 镜像文件:

代码语言:shell复制
docker pull nacos/nacos-server

这会从 Docker Hub 上下载最新版本的 Nacos 镜像文件到你的本地机器上。

启动 Nacos 容器

步骤 1:创建容器网络

在启动 Nacos 容器之前,需要先创建一个容器网络,以便容器之间可以相互访问和通信。可以使用以下命令创建一个名为 nacos_network 的容器网络:

代码语言:shell复制
docker network create nacos_network

步骤 2:启动 Nacos 容器

接下来,使用以下命令启动 Nacos 容器:

代码语言:shell复制
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:

代码语言:shell复制
sudo apt-get install mysql-server-5.7

步骤 2:创建 Nacos 数据库和用户

安装完成 MySQL 后,需要创建一个新的数据库和用户,并授予其访问权限。可以使用以下命令创建一个名为 nacos 的数据库和用户:

代码语言:shell复制
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 目录,可以使用以下命令进入容器内部:

代码语言:shell复制
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”这一行,将其替换为:

代码语言:shell复制
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 容器。可以使用以下命令停止并删除之前的容器:

代码语言:shell复制
docker stop nacos && docker rm nacos

然后,根据之前的步骤启动 Nacos 容器,并加上以下环境变量:

代码语言:shell复制
-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 服务注册和配置管理平台,方便进行微服务应用程序开发和部署工作。

0 人点赞