Nacos部署(三)Docker部署Nacos2.3单机环境

本文详细介绍了如何在Linux环境下使用Docker部署Nacos2.3.x的单机版本,包括拉取镜像、配置MySQL、两种启动方式对比以及挂载目录和配置文件的管理,确保了配置的便捷性和可维护性。
摘要由CSDN通过智能技术生成
😊 @ 作者: 一恍过去
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Nacos部署(三)Docker部署Nacos2.3单机环境
⏱️ @ 创作时间: 2024年03月24日

在这里插入图片描述
《Linux部署Nacos-2.3.x单机环境》
《Linux部署Nacos-2.3.x集群环境》
《Docker部署Nacos-2.3.x集群环境》

1、拉取镜像

拉取时最好指定版本,在git查看相应版本: https://github.com/nacos-group/nacos-docker

拉取镜像:

docker pull  nacos/nacos-server:v2.3.0

2、配置mysql环境

3、方式一:启动容器(无需挂载配置)

该方式会导致容器运行后修改启动参数比较麻烦,并且还需要重启docker服务代价较高,需要修改config.v2.json文件,参考:《Docker修改启动参数》

如果服务器配置有可能发生改变,不推荐该方式
启动命令如下:

docker  run \
--name nacos-server -d \
--privileged=true \
--restart=always \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.1.100 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=nacos \
-e MYSQL_SERVICE_PASSWORD=nacos \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
nacos/nacos-server:v2.3.0

4、方式二:配置启动Nacos(推荐)

4.1 创建挂载目录

mkdir -p /root/docker/cloud/nacos

4.2 拷贝容器目录

先不进行任何配置直接启动一个nacos容器,然后将容器中的data、conf、log、bin拷贝到/root/docker/cloud/nacos目录下。
直接启动:

docker run --name nacos-server -d nacos/nacos-server:v2.3.0

拷贝目录:

docker cp nacos-server:/home/nacos/conf /root/docker/cloud/nacos/
docker cp nacos-server:/home/nacos/logs /root/docker/cloud/nacos/
docker cp nacos-server:/home/nacos/bin /root/docker/cloud/nacos/
docker cp nacos-server:/home/nacos/data /root/docker/cloud/nacos/

删除容器:

docker stop nacos-server
docker rm nacos-server

目的是:为了进行挂载启动,以后修改配置文件、查看日志时更加方便。

4.3 配置application.properties

application.properties文件中,我们直接将原有采用环境变量方式的配置根据实际情况进行修改。

修改:

vim /root/docker/cloud/nacos/conf/application.properties

修改内容如下:

# 端口
server.port=8848
spring.datasource.platform=mysql
# 数据库数量,如果mysql配置了主从就设置为 2
db.num=1
# mysql连接
db.url.0=jdbc:mysql://192.168.0.111:3306/db-nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
# 如果db.num=1,则将db.url.1屏蔽;反之则配置db.url.1
#db.url.1=
# mysql用户名
db.user=root
# mysql密码
db.password=123456

### 开启登录验证
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
# 自定义指定生成JWT的密钥,使用BASE64进行编码,编码前的key长度必须不小于32个字符
nacos.core.auth.plugin.nacos.token.secret.key=

nacos.core.auth.plugin.nacos.token.secret.key生成步骤:
1、使用openssl rand -hex 32获取密钥值
在这里插入图片描述
2、将密钥值再进行base编码
访问:https://base64.us/,输入密钥进行base64编码
在这里插入图片描述

4.4 配置docker-startup.sh

startup.sh中主要根据当前服务器的配置修改JVM大小,比如:修改为1G或者更大或者更小。

修改:

vim /root/docker/cloud/nacos/bin/docker-startup.sh

内容如下:

JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn512m"

在这里插入图片描述

4.5 挂载启动容器

docker  run \
--name nacos-server -d \
--privileged=true \
--restart=always \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /root/docker/cloud/nacos/logs:/home/nacos/logs \
-v /root/docker/cloud/nacos/data:/home/nacos/data \
-v /root/docker/cloud/nacos/conf:/home/nacos/conf \
-v /root/docker/cloud/nacos/bin:/home/nacos/bin \
nacos/nacos-server:v2.3.0

测试:

通过:http://192.168.0.111:8848/nacos,成功访问nacos则表示搭建成功。
默认账户:nacos
默认密码:nacos,为了安全在第一次进入到nacos以后最好修改一次密码。
在这里插入图片描述
在这里插入图片描述

4.6 容器参数介绍

参数说明:

参数名称参数描述参数值选择
MODEcluster模式/standalone模式cluster/standalone default cluster
NACOS_SERVERSnacos cluster地址eg. ip1,ip2,ip3
PREFER_HOST_MODE是否支持hostnamehostname/ip default ip
NACOS_SERVER_PORTnacos服务器端口default 8848
NACOS_SERVER_IP多网卡下的自定义nacos服务器IP
SPRING_DATASOURCE_PLATFORMstandalone 支持 mysqlmysql / empty default empty
MYSQL_MASTER_SERVICE_HOSTmysql 主节点host
MYSQL_MASTER_SERVICE_PORTmysql 主节点端口default : 3306
MYSQL_MASTER_SERVICE_DB_NAMEmysql 主节点数据库
MYSQL_MASTER_SERVICE_USER数据库用户名
MYSQL_MASTER_SERVICE_PASSWORD数据库密码
MYSQL_SLAVE_SERVICE_HOSTmysql从节点host
MYSQL_SLAVE_SERVICE_PORTmysql从节点端口default :3306
MYSQL_DATABASE_NUM数据库数量default :2
JVM_XMS-Xmsdefault :2g
JVM_XMX-Xmxdefault :2g
JVM_XMN-Xmndefault :1g
JVM_MS-XX:MetaspaceSizedefault :128m
JVM_MMS-XX:MaxMetaspaceSizedefault :320m
NACOS_DEBUG开启远程调试y/n default :n
TOMCAT_ACCESSLOG_ENABLEDserver.tomcat.accesslog.enableddefault :false

4、控制台介绍

Nacos 控制台主要旨在于增强对于服务列表,健康状态管理,服务治理,分布式配置管理等方面的管控能力,包括下列常用操作:

  • 服务管理

    • 服务列表及服务健康状态展示
    • 服务元数据存储及编辑
    • 服务流量权重的调整
    • 服务优雅上下线
  • 配置管理

  • 命名空间

  • 登录管理

服务管理
开发者或者运维人员往往需要在服务注册后,通过友好的界面来查看服务的注册情况,包括当前系统注册的所有服务和每个服务的详情。并在有权限控制的情况下,进行服务的一些配置的编辑操作。Nacos在这个版本开放的控制台的服务发现部分,主要就是提供用户一个基本的运维页面,能够查看、编辑当前注册的服务。

服务列表管理
服务列表帮助用户以统一的视图管理其所有的微服务以及服务健康状态。整体界面布局是左上角有服务的搜索框和搜索按钮,页面中央是服务列表的展示。服务列表主要展示服务名、集群数目、实例数目、健康实例数目和详情按钮五个栏目。
在这里插入图片描述
在服务列表页面点击详情,可以看到服务的详情。可以查看服务、集群和实例的基本信息。

服务流量权重支持及流量保护
Nacos 为用户提供了流量权重控制的能力,同时开放了服务流量的阈值保护,以帮助用户更好的保护服务服务提供者集群不被意外打垮。如下图所以,可以点击实例的编辑按钮,修改实例的权重。如果想增加实 例的流量,可以将权重调大,如果不想实例接收流量,则可以将权重设为0。
在这里插入图片描述

服务元数据管理
Nacos提供多个维度的服务元数据的暴露,帮助用户存储自定义的信息。这些信息都是以K-V的数据结构存储,在控制台上,会以k1=v1,k2=v2这样的格式展示。类似的,编辑元数据可以通过相同的格式进行。例如服务的元数据编辑,首先点击服务详情页右上角的“编辑服务”按钮,然后在元数据输入框输入:version=1.0,env=prod。
在这里插入图片描述
点击确认,就可以在服务详情页面,看到服务的元数据已经更新了。
在这里插入图片描述

服务优雅上下线
Nacos还提供服务实例的上下线操作,在服务详情页面,可以点击实例的“上线”或者“下线”按钮,被下线的实例,将不会包含在健康的实例列表里。
在这里插入图片描述

配置管理
Nacos支持基于Namespace和Group的配置分组管理,以便用户更灵活的根据自己的需要按照环境或者应用、模块等分组管理微服务以及Spring的大量配置,在配置管理中主要提供了配置历史版本、回滚、订阅者查询等核心管理能力。在这里插入图片描述
多配置格式编辑器
Nacos支持 YAML、Properties、TEXT、JSON、XML、HTML 等常见配置格式在线编辑、语法高亮、格式校验,帮助用户高效编辑的同时大幅降低格式错误带来的风险。

Nacos支持配置标签的能力,帮助用户更好、更灵活的做到基于标签的配置分类及管理。同时支持用户对配置及其变更进行描述,方面多人或者跨团队协作管理配置。
在这里插入图片描述
监听者查询
Nacos提供配置订阅者即监听者查询能力,同时提供客户端当前配置的MD5校验值,以便帮助用户更好的检查配置变更是否推送到 Client 端。
在这里插入图片描述
命名空间管理
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 45
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一恍过去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值