Nacos 是一个开源的动态服务发现、配置管理和服务管理平台,广泛用于微服务架构中。在本文章中,博主将详细介绍如何使用 Docker 来安装 Nacos,以便快速启动并运行这个强大的服务管理工具。
前置条件
在开始安装 Nacos 之前,请确保你已经在自己的运行环境中安装了 Docker 。Linux 服务器上安装 Docker 请参考Linux安装Docker
1.拉取Nacos镜像
Nacos 官方提供了 Docker 镜像,可以通过 Docker Hub 拉取。打开终端,运行以下命令来拉取 Nacos 镜像:
# 拉取 Nacos 的 Docker 镜像
$ docker pull nacos/nacos-server
Docker 官方镜像地址:hub.docker.com
Nacos 镜像地址:nacos/nacos-server - Docker Image | Docker Hub
2.创建Docker挂载目录
# 创建 log 目录
$ mkdir -p /mydata/nacos/log/
# 创建 conf 目录
$ mkdir -p /mydata/nacos/conf/
3.创建Docker容器
# 启动 Docker 容器
$ docker run -p 8848:8848 --name nacos -d nacos/nacos-server
4.将Docker容器的文件复制到宿主机
$ docker cp nacos:/home/nacos/logs/ /mydata/nacos/
$ docker cp nacos:/home/nacos/conf/ /mydata/nacos/
5.删除容器
$ docker rm -f nacos
6.重新创建并运行Docker容器
$ docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server
7.修改配置文件
7.1.找到application.properties配置文件
博主这里是以下这个路径:
$ vim /mydata/nacos/conf/application.properties
7.2.如果有需要,可以改为自己的数据库
# application.properties 配置文件spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
MySQL数据库中,创建nacos可能用到的表:
GitCode - 全球开发者的开源社区,开源代码托管平台
8.开放Linux相应端口
8.1.若使用了ufw防火墙机制:
# 开放 8848 端口
$ ufw allow 8848# 开放 9848 端口
$ ufw allow 9848# 开放 9849 端口
$ ufw allow 9849
8.2.若使用阿里云服务器,还需配置安全组规则:
9.访问页面
http://xx.xx.xx.xx:8848/nacos/index.html
如果不出意外,你将会看到如下界面:
由于 Nacos 默认是将鉴权中心功能关闭的,所以我们得去配置 Nacos ,手动开启鉴权。
10.配置Nacos鉴权
修改 application.properties 配置文件:
# vim 编辑 application.properties 配置文件
$ vim /mydata/nacos/conf/application.propertiesnacos.core.auth.system.type=nacos# nacos 鉴权默认为 false,打开鉴权配置:将 false 改为 true
nacos.core.auth.enabled=true# 以下两个配置必须得有默认值
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example# 自定义密钥串 (这里自定义的密钥串字符长度不要低于32位)
nacos.core.auth.plugin.nacos.token.secret.key=123456789123456789123456789
11.重新启动Docker容器
# 重新启动 Docker 容器
$ docker restart nacos
重新访问 Nacos ,将会默认跳转到以下界面:
Nacos 默认的用户名和密码都是 nacos