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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 一文教你使用 Docker 启动并安装 Nacos

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
12天前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
86 3
docker 安装 Postgres 17.6
|
3月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
287 5
|
3月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
453 0
|
4月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
408 4
|
3月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
859 0
|
4月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
127 1

热门文章

最新文章