如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁
🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
文章目录
- Nacos Docker 快速部署指南
- 摘要
- 1. Nacos Docker 项目介绍
- 2. 项目结构
- 3. 注意事项
- 4. 快速开始
- 5. 进阶使用
- 6. 常用属性配置
- 7. 高级配置
- 8. Nacos + Grafana + Prometheus
- 总结
- 参考资料
- 原创声明
Nacos Docker 快速部署指南
大家好,我是猫头虎博主,今天为大家带来关于 Nacos 的 Docker 部署教程。Nacos 是一个很好的服务发现、配置和服务管理平台。它可以帮助您轻松地构建云原生应用程序。下面,我将详细介绍如何使用 Docker 快速启动和部署 Nacos。
摘要
本文为读者详细介绍了如何使用 Docker 部署 Nacos 服务。我们从项目的基础结构开始,讨论了项目中各个目录的用途。随后,我们深入探讨了如何快速启动 Nacos 服务、进阶配置以及常见的属性设置。最后,我们还提供了一系列的命令和操作,以帮助读者更好地理解和使用 Nacos。
1. Nacos Docker 项目介绍
这个项目包含了一个 Docker 镜像,旨在简化 Nacos 的部署过程。你可以通过以下命令直接拉取:
docker pull nacos/nacos-server
2. 项目结构
- build:Docker 镜像的 Nacos 源代码
- env:compose yaml 的环境变量文件
- example:Nacos 服务器的 Docker compose 示例
3. 注意事项
- 在最新的 nacos/nacos-server:latest 镜像之后,已经移除了数据库主从镜像。具体原因可以参考移除主从镜像配置。
- 从 Nacos 1.3.1 版本开始,数据库存储已经升级到 8.0,但仍然是向后兼容的。
- 如果您使用自定义数据库,请首次自行初始化数据库脚本。
4. 快速开始
只需一条命令,即可快速启动 Nacos:
docker run --name nacos-quick -e MODE=standalone -p 8849:8848 -d nacos/nacos-server:2.0.2
5. 进阶使用
-
克隆项目:
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git cd nacos-docker
-
独立 Derby:
docker-compose -f example/standalone-derby.yaml up
-
独立 Mysql:
# 使用 mysql 5.7 docker-compose -f example/standalone-mysql-5.7.yaml up# 使用 mysql 8 docker-compose -f example/standalone-mysql-8.yaml up
-
集群:
docker-compose -f example/cluster-hostname.yaml up
-
服务注册 & 服务发现:
# 服务注册 curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'# 服务发现 curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'
-
发布 & 获取配置:
# 发布配置 curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"# 获取配置 curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
-
在浏览器中打开 Nacos 控制台:
点击此处
6. 常用属性配置
为了方便大家快速查找和设置,我为大家整理了一个 Nacos 的常用属性配置表:
属性名 | 描述 | 选项 |
---|---|---|
MODE | 运行模式 | cluster/standalone 默认为 cluster |
NACOS_SERVERS | Nacos 集群地址 | eg. ip1:port1 ip2:port2 ip3:port3 |
PREFER_HOST_MODE | 是否支持主机名 | hostname/ip 默认为 ip |
NACOS_APPLICATION_PORT | Nacos 服务器端口 | 默认 8848 |
NACOS_SERVER_IP | 当网络是多网络时的自定义 Nacos 服务器 IP | |
SPRING_DATASOURCE_PLATFORM | 独立支持的数据库 | mysql / 空 默认为空 |
MYSQL_SERVICE_HOST | MySQL 主机 | |
MYSQL_SERVICE_PORT | MySQL 数据库端口 | 默认:3306 |
MYSQL_SERVICE_DB_NAME | MySQL 数据库名 | |
MYSQL_SERVICE_USER | 数据库用户名 | |
MYSQL_SERVICE_PASSWORD | 数据库密码 | |
MYSQL_DATABASE_NUM | 表示数据库的数量 | 默认:1 |
MYSQL_SERVICE_DB_PARAM | 数据库 URL 参数 | 默认:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false |
JVM_XMS | -Xms | 默认:1g |
JVM_XMX | -Xmx | 默认:1g |
JVM_XMN | -Xmn | 默认:512m |
JVM_MS | -XX:MetaspaceSize | 默认:128m |
JVM_MMS | -XX:MaxMetaspaceSize | 默认:320m |
NACOS_DEBUG | 启用远程调试 | y/n 默认:n |
TOMCAT_ACCESSLOG_ENABLED | server.tomcat.accesslog.enabled | 默认:false |
NACOS_AUTH_SYSTEM_TYPE | 要使用的认证系统 | 默认:nacos |
NACOS_AUTH_ENABLE | 是否开启认证系统 | 默认:false |
NACOS_AUTH_TOKEN_EXPIRE_SECONDS | 令牌过期时间(秒) | 默认:18000 |
NACOS_AUTH_TOKEN | 默认令牌 | 默认:SecretKey012345678901234567890123456789012345678901234567890123456789 |
NACOS_AUTH_CACHE_ENABLE | 开启/关闭认证信息的缓存。开启此开关后,认证信息的更新将有15秒的延迟。 | 默认:false |
MEMBER_LIST | 使用配置文件或命令行参数设置集群列表 | eg:192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809 |
EMBEDDED_STORAGE | 在没有 mysql 的集群模式下使用嵌入式存储 | embedded 默认:none |
NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE | nacos.core.auth.enable.userAgentAuthWhite | 默认:false |
NACOS_AUTH_IDENTITY_KEY | nacos.core.auth.server.identity.key | 默认:serverIdentity |
NACOS_AUTH_IDENTITY_VALUE | nacos.core.auth.server.identity.value | 默认:security |
NACOS_SECURITY_IGNORE_URLS | nacos.security.ignore.urls | 默认:/,/error,//*.css,//.js,/**/.html,//*.map,//.svg,/**/.png,//*.ico,/console-fe/public/,/v1/auth/,/v1/console/health/,/actuator/,/v1/console/server/ |
这些属性可以帮助你更好地定制和配置你的 Nacos 服务。如果你有任何问题或需要进一步的解释,请随时告诉我。
7. 高级配置
如果上述属性配置列表不满足您的需求,您可以将 custom.properties 文件挂载到容器的 /home/nacos/init.d/ 目录中,其中可以配置 spring 属性,其优先级高于 application.properties 文件。参考示例:cluster-hostname.yaml
8. Nacos + Grafana + Prometheus
使用参考:Nacos 监控指南
注意:当 Grafana 创建一个新的数据源时,数据源地址必须是 http://prometheus:9090
总结
Nacos 是一个强大的服务发现、配置和服务管理平台,适合于构建云原生应用程序。通过 Docker,我们可以非常轻松地部署和使用 Nacos。本指南为读者提供了从拉取 Docker 镜像到完全部署 Nacos 的详细步骤。通过这些步骤,即使是初学者也能够轻松上手。
参考资料
- Nacos 官方文档:Nacos Documentation
- Nacos Docker GitHub 项目:Nacos Docker GitHub
- Docker 官方文档:Docker Documentation
希望本文能为您的 Nacos 部署之旅提供帮助。
希望这篇文章能帮助到各位。如果有任何疑问或建议,欢迎留言。再次感谢大家,我们下次再见!
原创声明
======= ·
- 原创作者: 猫头虎
作者wx: [ libin9iOak ]
学习 | 复习 |
---|---|
✔ | ✔ |
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
点击
下方名片
,加入IT技术核心学习团队。一起探索科技的未来,共同成长。
相关文章:

如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

yocto stm32mp1集成ros
yocto stm32mp1集成ros yocto集成ros下载meta-rosyocto集成rosrootfs验证 yocto集成ros 本章节介绍yocto如何集成ros系统用来作机器人开发。 下载meta-ros 第一步首先需要下载meta-ros layer,meta-ros的链接如下:https://github.com/ros/meta-ros/tre…...

Linux 中的 chroot 命令及示例
Linux/Unix系统中的chroot命令用于更改根目录。Linux/Unix 类系统中的每个进程/命令都有一个称为root 目录的当前工作目录。它更改当前正在运行的进程及其子进程的根目录。 在此类修改的环境中运行的进程/命令无法访问根目录之外的文件。这种修改后的环境称为“ chroot监狱”或…...
oracle的redo与postgreSQL的WAL以及MySQL的binlog区别
Oracle的redo日志、PostgreSQL的WAL(Write-Ahead Log)以及MySQL的binlog(二进制日志)都是数据库的事务日志,但它们在实现和功能上有一些区别。 1. 实现方式: - Oracle的redo日志是通过在事务提交前将事务操作记录到磁盘上的重做日志文件中来实现的。 - PostgreSQL…...

进入低功耗和唤醒
休眠模式 进入休眠模式 如果使用 WFI 指令进入睡眠模式,则嵌套向量中断控制器 (NVIC) 确认的任意外设中断都会 将器件从睡眠模式唤醒。 如果使用 WFE 指令进入睡眠模式,MCU 将在有事件发生时立即退出睡眠模式。唤醒事件可 通过以下方式产生ÿ…...

【多线程】volatile 关键字
volatile 关键字 1. 保证内存可见性2. 禁止指令重排序3. 不保证原子性 1. 保证内存可见性 内存可见性问题: 一个线程针对一个变量进行读取操作,另一个线程针对这个变量进行修改操作, 此时读到的值,不一定是修改后的值,即这个读线…...
【Windows注册表内容详解】
Windows注册表内容详解 第一章节 注册表基础 一、什么是注册表 注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。 注册表记录了用户安装在计算机上的软件和每个程…...

大数据Hadoop入门之集群的搭建
hadoop的三种运行模式 本地模式:测试本地的hadoop是否能够运行,用来运行官方的代码。伪分布模式:原先有人拿来测试,目前测试都不用这个模式了。完全分布模式:多台服务器组成分布式环境,生产环境使用 分布式主机文件同步命令 sc…...

华为云云耀云服务器L实例评测|基于云服务器的minio部署手册
华为云云耀云服务器L实例评测|基于云服务器的minio部署手册 【软件安装版本】【集群安装(是)(否)】 版本 创建人 修改人 创建时间 备注 1.0 jz jz 2023.9.2 minio华为云耀服务器 一. 部署规划与架…...

龙智携手Atlassian和JFrog举办线下研讨会,探讨如何提升企业级开发效率与质量
2023年9月8日,龙智将携手Atlassian和JFrog于上海举办线下研讨会,以“大规模开发创新:如何提升企业级开发效率与质量”为主题,邀请龙智高级咨询顾问、Atlassian认证专家叶燕秀,紫龙游戏上海研发中心高级项目管理主管叶凯…...

2023数学建模国赛A题定日镜场的优化设计- 全新思路及代码
背景资料关键信息和要点如下: 定日镜:塔式太阳能光热发电站的基本组件,由纵向转轴和水平转轴组成,用于反射太阳光。 定日镜场:由大量的定日镜组成的阵列。 集热器:位于吸收塔顶端,用于收集太…...

CSS笔记(黑马程序员pink老师前端)圆角边框
圆角边框 border-radius:length; 效果显示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Documen…...

水表电表集中远程抄表系统分析
电表水表远程抄表系统石家庄光大远通电气有限公司主要经营自动抄表,远程抄表,集中抄表,新供应信息,是石家庄光大远通电气有限公司自动远程抄表系统集信号采集、网络通信于一体的高性能抄表装置,该系统以485通讯方式读取水表电表的数据,以MBUS通讯方式读取…...
Android 通知
1. 原生Android通知的几种显示方式: 状态栏的图标:发出通知后,通知会先以图标的形式显示在状态栏中。 抽屉式通知栏:用户可以在状态栏向下滑动以打开抽屉式通知栏,并在其中查看更多详情及对通知执行操作。在应用或用户…...

【Unittest】Requests实现小程序项目接口测试
文章目录 一、搭建接口测试框架二、初始化日志三、定义全局变量四、封装接口五、编写测试用例六、生成测试报告 一、搭建接口测试框架 目录结构如下。 二、初始化日志 在utils.py文件中编写如下如下代码,初始化日志。 # 导入app.py全局变量文件 import app import l…...

Mac 搭建本地服务器
文章目录 一、启动服务器二、添加文件到本地服务三、手机/其他电脑 访问本机服务器 MacOS 自带Apatch 服务器。所以我这里选择Apatch服务器搭建 一、启动服务器 在safari中输入 http://127.0.0.1/ ,如果页面出现 it works,则代表访问成功。启动服务器 …...
区块链基础之编写合约二
一、了解solidity中的关键字。 二、了解solidity中的类型。 三、编写合约 1.这里列出一些solidity中的关键字,有哪些。 pragma 作用:是告知编译器如何处理源代码的通用指令(例如, pragma once )。public 作用&#…...
【前端基础】js 如何判断一个值是数组
在JavaScript中,可使用不同的方法来判断一个值是否是一个数组。以下是一些常用的方法: 使用 Array.isArray() 方法: if (Array.isArray(value)) {// 值是一个数组 } else {// 值不是一个数组 }Array.isArray() 方法是最简单和推荐的方法&…...

Linux之NFS服务器
目录 Linux之NFS服务器 简介 NFS背景介绍 生产应用场景 NFS工作原理 NFS工作流程图 流程 NFS的安装 安装nfs服务 安装rpc服务 启动rpcbind服务同时设置开机自启动 启动nfs服务同时设置开机自启动 NFS的配置文件 主配置文件分析 示例 案例 --- 建立NFS服务器&#…...
ES delete_by_query条件删除的几种方式
es 查询删除的几种方式 1.根据id删除 #根据id删除 POST /indexname/_delete_by_query {"query": { "match": {"id": "100000"}} } 2.根据多个id删除 #根据多个id删除 POST /indexname/_delete_by_query {"query": {"…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...