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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 一文教你使用 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 服务注册和配置管理平台,方便进行微服务应用程序开发和部署工作。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
前端开发 jenkins 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
25 1
|
6天前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
28 3
|
4天前
|
jenkins 持续交付 数据安全/隐私保护
Docker 安装 Jenkins
Jenkins 是一个独立的开源自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
24 1
|
4天前
|
Linux Docker 容器
安装新版本Docker报错container-selinux >= 2:2.74 - 蓝易云
以上步骤应该能够帮助你解决遇到的问题。如果问题仍然存在,你可能需要寻求专业的技术支持。
21 0
|
4天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
6天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
48 0
|
6天前
|
Ubuntu Docker 容器
Ubuntu 22.04.3 LTS_安装Docker
Ubuntu 22.04.3 LTS_安装Docker
57 1
|
6天前
|
应用服务中间件 PHP nginx
安装基于docker的php运行环境
安装基于docker的php运行环境
11 0
|
6天前
|
并行计算 Shell Docker
【环境配置】Ubuntu16.04安装nvidia-docker
【环境配置】Ubuntu16.04安装nvidia-docker
20 2
|
6天前
|
Kubernetes Docker 容器
Docker 安装 Portainer
Portainer Community Edition是一个针对容器化应用程序的轻量级服务交付平台,可用于管理 Docker、Swarm、Kubernetes 和 ACI 环境。它的设计理念是部署和使用都简单,该应用程序允许您通过“智能”GUI 和/或广泛的 API 管理所有编排器资源。
44 3