如何使用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技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/125937.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch wildcard 慢查询原因分析(深入到源码!!!)

大家好,我是蓝胖子,前段时间线上elasticsearch集群遇到多次wildcard产生的性能问题, elasticsearch wildcard 一直是容易引发elasticsearch 容易宕机的一个风险点, 但究竟它为何消耗cpu呢?又该如何理解elasticsearch p…

14. 线性代数 - 线性方程组

文章目录 线性方程组矩阵行列式全排列和逆序数N阶行列式(非)齐次线性方程Hi,大家好。我是茶桁。 结束了「微积分」部分的学习之后我们稍作休整,今天正式开始另外一部分:「线性代数」的学习。小伙伴们放松完回来要开始紧张起来了。 我们之前说过,不管是哪一个工程学科,根…

适用于Linux的Windows子系统(系统安装步骤)

目录 前言 一、WSL2安装 1.Microsoft参考文档(推荐选择旧版 WSL 的手动安装步骤) 2.开启子系统 二、Ubuntu安装 1.在Microsoft Store中获取ubuntu 2.运行ubuntu配置管理信息 3.ubuntu换源 三、WSL 与 Ubuntu的一些基础使用命令 四、Windows Terminal终端…

vscode上搭建go开发环境

前言 Go语言介绍: Go语言适合用于开发各种类型的应用程序,包括网络应用、分布式系统、云计算、大数据处理等。由于Go语言具有高效的并发处理能力和内置的网络库,它特别适合构建高并发、高性能的服务器端应用。以下是一些常见的Go语言应用开发…

FPGA时序分析与约束(5)——时序路径

一、前言 在之前的文章中我们分别介绍了组合电路的时序,时序电路的时序和时钟的时序问题,我们也对于时序分析,时序约束和时序收敛几个基本概念进行了区分,在这篇文章中,我们将介绍时序约束相关的最后一部分基本概念&am…

word文档如何引用参考文献

参考 word文档如何引用参考文献 说明

大数据课程L3——网站流量项目的系统搭建

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的运行环境; ⚪ 了解网站流量项目的日志采集系统搭建; ⚪ 了解网站流量项目的离线业务系统搭建; ⚪ 了解网站流量项目的Hive做离线数据处理; ⚪ 了解网站流量项目的…

计算机使用中常用截图与标注方法

一、截图常用方法 1.windows自带快捷键 Print Screen SysPq 截取全屏,可以粘到word文档中,可以粘贴到"画图"程序中,命名一个文件名,另存为图片,或.jpg后缀,或.png后缀 alt Print S…

JetBrains设置文件名格式

如题,在使用CLion创建C类时,希望创建的文件名符合Google编码规范。设置如下图所示: 创建的C类是PascalCase格式,对应的文件名是pascal-case格式。

时序数据库

时序数据库在许多应用领域中得到广泛应用,包括物联网(IoT)监控、应用性能监控(APM)、日志分析、金融数据分析、工业自动化和能源管理等。一些知名的开源和商业时序数据库包括InfluxDB、Prometheus、OpenTSDB、TimescaleDB和Kdb+等。 上图是一个典型的时序数据示意图,由…

17 mysql global_variables session_variables

前言 这是一个关于 mysql 中的一些配置的探索 起因是需要 看一下 mysql 自增长的实现, 这里面涉及到两个变量 auto_increment_increment, auto_increment_offset, 然后 需要探索一下 这两个变量的来历 然后 就有了这里的相关介绍 global_variables 的初始化 global_va…

前端uniapp块样式写法

<template><view class"block"><view class"block_box"><view class"block_box_content"><view class"block_box_left">左边</view><view class"block_box_right">右边</view…

网络带宽管理:限速策略的备份应用场景

假设现在有一个千兆网络环境&#xff0c;使用云祺容灾备份系统&#xff0c;部分备份数据需要走这个千兆网络&#xff0c;现在这个企业网络环境中从早上9点到晚上9点&#xff0c;生产网络占用了500兆带宽。 那么在早上9点到晚上9点这个时间段之间&#xff0c;不对备份任务进行网…

什么是Scrum?如何实施Scrum(敏捷开发)以及敏捷工具

什么是Scrum&#xff1f; Scrum是一个敏捷开发框架&#xff0c;它是一个增量的、迭代的开发过程。它被广泛应用于敏捷软件开发&#xff0c;在Scrum中&#xff0c;开发过程由若干个短的迭代周期组成&#xff0c;每个迭代周期称为一个Sprint。 那么Scrum如何实施呢&#xff1f;…

Leetcode646. 最长数对链

Every day a Leetcode 题目来源&#xff1a;646. 最长数对链 解法1&#xff1a;动态规划 定义 dp[i] 为以 pairs[i] 为结尾的最长数对链的长度。 初始化时&#xff0c;dp 数组需要全部赋值为 1。 计算 dp[i] 时&#xff0c;可以先找出所有的满足 pairs[i][0]>pairs[j]…

直播APP源码搭建:核心的服务器系统

在现代科技的推动下&#xff0c;网络衍生出了各种各样的技术&#xff0c;每个技术都被应用到需要的APP上&#xff0c;直播APP源码搭建出来的APP就是其中的一个&#xff0c;然而&#xff0c;这些技术能够成功的在直播APP源码搭建的APP中稳定的为用户们提供功能与服务&#xff0c…

手写Spring:第12章-基于JDK、Cglib实现AOP切面

文章目录 一、目标&#xff1a;基于JDK、Cglib实现AOP切面二、设计&#xff1a;基于JDK、Cglib实现AOP切面三、实现&#xff1a;基于JDK、Cglib实现AOP切面3.0 引入依赖3.1 工程结构3.2 AOP切点表达式和使用以及基于JDK和CGLIB的动态代理类图3.3 切点表达式3.3.1 类匹配接口3.3…

Scala

Scala 介绍 Scala是一种多规范的编程语言&#xff0c;它结合了面向对象编程&#xff08;OOP&#xff09;和函数式编程&#xff08;FP&#xff09;的特征&#xff0c;Scala的名字源于”Scalable language“&#xff0c;意为”可伸缩语言“。2003年开发的&#xff0c;并在JVM&a…

LeetCode 48题: 旋转图像

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]]…

激光切割机在船舶行业的的应用有哪些

我国享有世界工厂的美誉&#xff0c;是全球制造业的主力。然而&#xff0c;在船舶制造的关键技术领域&#xff0c;我国的研发投入不足&#xff0c;技术进步仍滞后&#xff0c;我国高端船舶制造的实力仍显不足。 在我国制造业全面复苏的当前背景下&#xff0c;“精准制作”正构成…