当前位置: 首页 > news >正文

如何使用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_SERVERSNacos 集群地址eg. ip1:port1 ip2:port2 ip3:port3
PREFER_HOST_MODE是否支持主机名hostname/ip 默认为 ip
NACOS_APPLICATION_PORTNacos 服务器端口默认 8848
NACOS_SERVER_IP当网络是多网络时的自定义 Nacos 服务器 IP
SPRING_DATASOURCE_PLATFORM独立支持的数据库mysql / 空 默认为空
MYSQL_SERVICE_HOSTMySQL 主机
MYSQL_SERVICE_PORTMySQL 数据库端口默认:3306
MYSQL_SERVICE_DB_NAMEMySQL 数据库名
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_ENABLEDserver.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_ENABLEnacos.core.auth.enable.userAgentAuthWhite默认:false
NACOS_AUTH_IDENTITY_KEYnacos.core.auth.server.identity.key默认:serverIdentity
NACOS_AUTH_IDENTITY_VALUEnacos.core.auth.server.identity.value默认:security
NACOS_SECURITY_IGNORE_URLSnacos.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 的详细步骤。通过这些步骤,即使是初学者也能够轻松上手。

参考资料

  1. Nacos 官方文档:Nacos Documentation
  2. Nacos Docker GitHub 项目:Nacos Docker GitHub
  3. 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 将在有事件发生时立即退出睡眠模式。唤醒事件可 通过以下方式产生&#xff…...

【多线程】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…...

水表电表集中远程抄表系统分析

电表水表远程抄表系统石家庄光大远通电气有限公司主要经营自动抄表,远程抄表,集中抄表,新供应信息&#xff0c;是石家庄光大远通电气有限公司自动远程抄表系统集信号采集、网络通信于一体的高性能抄表装置&#xff0c;该系统以485通讯方式读取水表电表的数据,以MBUS通讯方式读取…...

Android 通知

1. 原生Android通知的几种显示方式&#xff1a; 状态栏的图标&#xff1a;发出通知后&#xff0c;通知会先以图标的形式显示在状态栏中。 抽屉式通知栏&#xff1a;用户可以在状态栏向下滑动以打开抽屉式通知栏&#xff0c;并在其中查看更多详情及对通知执行操作。在应用或用户…...

【Unittest】Requests实现小程序项目接口测试

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

Mac 搭建本地服务器

文章目录 一、启动服务器二、添加文件到本地服务三、手机/其他电脑 访问本机服务器 MacOS 自带Apatch 服务器。所以我这里选择Apatch服务器搭建 一、启动服务器 在safari中输入 http://127.0.0.1/ &#xff0c;如果页面出现 it works&#xff0c;则代表访问成功。启动服务器 …...

区块链基础之编写合约二

一、了解solidity中的关键字。 二、了解solidity中的类型。 三、编写合约 1.这里列出一些solidity中的关键字&#xff0c;有哪些。 pragma 作用&#xff1a;是告知编译器如何处理源代码的通用指令&#xff08;例如&#xff0c; pragma once &#xff09;。public 作用&#…...

【前端基础】js 如何判断一个值是数组

在JavaScript中&#xff0c;可使用不同的方法来判断一个值是否是一个数组。以下是一些常用的方法&#xff1a; 使用 Array.isArray() 方法&#xff1a; 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": {"…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...