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

docker安装nacos2.x

  • 本文为单机模式,非集群教程,埋坑

nacos2.x官方强制条件

64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
64 bit JDK 1.8+
Maven 3.2.x+

环境介绍

centos 7
maven 3.9.9
jdk 17
nacos 2.3.1

1. 拉取docker镜像

docker pull nacos/nacos-server:v2.3.1
#查看下载好的镜像
docker images

在这里插入图片描述

2. 创建挂载目录

#新建日志目录
mkdir -p /usr/local/nacos2.3.1-docker/logs
#新建conf目录
mkdir -p /usr/local/nacos2.3.1-docker/conf

3. 创建并启动容器

# 创建容器
docker run -d --name nacos2.3.1 -p 8848:8848 nacos/nacos-server:v2.3.1
  • docker run: 这是启动一个新的容器的Docker命令。
    参数说明
  • -d:
    • 含义: 以分离模式(detached mode)运行容器,这意味着容器将在后台运行。
    • 作用: 允许你在启动容器后立即释放终端,以便执行其他命令。
  • --name nacos2.3.1:
    • 含义: 为容器指定一个名称。
    • 作用: 在此例中,容器将被命名为nacos2.3.1。命名容器可以让你更容易地管理和引用它。
  • -p 8848:8848:
    • 含义: 将主机的端口映射到容器内的端口。
    • 作用: 此参数将主机的8848端口映射到容器内部的8848端口。外部访问主机的8848端口时,请求会被转发到Nacos服务器在容器中的8848端口。
  • nacos/nacos-server:v2.3.1:
    • 含义: 指定要使用的镜像和标签。
    • 作用: 使用nacos/nacos-server仓库中的v2.3.1版本镜像来创建容器。这里的nacos/nacos-server是Docker Hub上的镜像名称,而:v2.3.1指定了该镜像的具体版本标签。

4.将容器中的配置与日志目录复制到本地

docker cp nacos2.3.1:/home/nacos/logs/ /usr/local/nacos2.3.1-docker
docker cp nacos2.3.1:/home/nacos/conf/ /usr/local/nacos2.3.1-docker

在这里插入图片描述

5. mysql中创建nacos所需的库表

在mysql中创建nacos库

CREATE DATABASE `nacos` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

将nacos目录下conf/mysql-schema.sql的内容复制到mysql中执行
在这里插入图片描述

6.删除原有容器并重新创建容器启动

停止并删除原有容器

docker stop nacos2.3.1 && docker rm nacos2.3.1

重新创建容器

docker run -d \
--name nacos2.3.1 \
-e NACOS_APPLICATION_PORT=8848 \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e MYSQL_SERVICE_HOST=10.1.1.101 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e NACOS_AUTH_TOKEN="看下面有怎么生成安全点的64位随机密钥" \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacos \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_CACHE_ENABLE=true \
-e NACOS_SERVER_TIMEOUT=5000 \
-v /usr/local/nacos2.3.1-docker/logs:/home/nacos/logs \
-v /usr/local/nacos2.3.1-docker/conf/:/home/nacos/conf/ \
--restart=always \
nacos/nacos-server:v2.3.1

命令参数说明

  • docker run: 启动一个新的容器。
  • -d:
    • 含义: 以分离模式(detached mode)运行容器。
    • 作用: 让容器在后台运行,释放当前终端。
  • --name nacos2.3.1:
    • 含义: 为容器指定名称。
    • 作用: 将容器命名为nacos2.3.1,便于后续管理和引用。
  • -e NACOS_APPLICATION_PORT=8848:
    • 含义: 设置环境变量。
    • 作用: 指定Nacos服务的应用端口为8848
  • -p 8848:8848 -p 9848:9848 -p 9849:9849:
    • 含义: 端口映射。
    • 作用: 将宿主机的端口映射到容器内的对应端口。这里将宿主机的884898489849端口分别映射到容器内的相同端口。
  • --privileged=true:
    • 含义: 赋予容器扩展权限。
    • 作用: 提供对所有设备的访问权限,并允许执行几乎所有的操作,如同在宿主机上直接运行一样。
  • -e JVM_XMS=256m -e JVM_XMX=256m:
    • 含义: 设置环境变量。
    • 作用: 配置JVM的初始堆大小(Xms)和最大堆大小(Xmx)为256MB。
  • -e MODE=standalone:
    • 含义: 设置Nacos的工作模式。
    • 作用: 指定Nacos以单机模式运行,适用于开发或测试环境。
  • -e MYSQL_SERVICE_HOST=10.1.1.101:
    • 设置MySQL数据库服务器的主机地址或IP。
  • -e MYSQL_SERVICE_PORT=3306:
    • 设置MySQL服务端口,默认是3306。
  • -e MYSQL_SERVICE_DB_NAME=nacos:
    • 设置要使用的数据库名称。
  • -e MYSQL_SERVICE_USER=root:
    • 设置用于连接数据库的用户名。
  • -e MYSQL_SERVICE_PASSWORD=root:
    • 设置上述用户的密码。
  • -e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50**********=":
  • 含义: 设置认证令牌。
  • 作用: 设置一个用于认证的令牌,保护Nacos API的安全性。此令牌应妥善保管,不应公开。
  • -e NACOS_AUTH_IDENTITY_KEY=nacos:
  • 含义: 这个环境变量设置了一个键(key),用于身份验证机制中。在这个例子中,键被设为nacos
  • 作用: 它的作用是定义了在进行身份验证时用来标识请求或者会话的一个关键字段。这个键值对可以用于验证请求是否来自可信的来源,从而增强安全性。
  • -e NACOS_AUTH_IDENTITY_VALUE=nacos:
  • 含义: 此环境变量设置了与上述键对应的值(value)。这里,值同样被设为nacos。
  • 作用: 它的作用是提供了与上面提到的身份验证键相对应的具体值。在执行身份验证的过程中,系统会检查提供的凭证是否匹配预设的键值对。只有当请求中包含正确的键和值时,才会被认为是有效的请求,从而允许访问受保护的资源或服务。
  • -e NACOS_AUTH_ENABLE=true:
    • 含义: 启用认证模块。
    • 作用: 开启Nacos的认证功能,要求客户端在调用API时提供有效的凭证。
  • -e NACOS_AUTH_CACHE_ENABLE=true:
    • 含义: 启用认证缓存。
    • 作用: 开启认证信息的缓存机制,提高认证效率。对于频繁的身份验证请求,启用缓存可以减少数据库查询次数,提升性能。
  • -e NACOS_SERVER_TIMEOUT=5000:
    • 含义: 设置超时时间。
    • 作用: 设置Nacos服务端处理请求的超时时间为5秒(5000毫秒)。如果请求在这个时间内未完成,则会终止该请求。适当调整这个值可以根据实际网络情况优化性能。
  • -v /usr/local/nacos2.3.1-docker/logs/:/home/nacos/logs -v /usr/local/nacos2.3.1-docker/conf/:/home/nacos/conf/:
    • 含义: 绑定挂载卷。
    • 作用: 将宿主机的目录挂载到容器内,以便持久化数据。这里将宿主机上的/usr/local/nacos2.3.1-docker/logs//usr/local/nacos2.3.1-docker/conf/目录分别挂载到容器内的/home/nacos/logs/home/nacos/conf/
  • --restart=always:
    • 含义: 设置重启策略。
    • 作用: 如果容器停止,则总是尝试重启它,确保服务高可用性。
  • nacos/nacos-server:v2.3.1:
    • 含义: 使用的镜像及标签。
    • 作用: 基于nacos/nacos-server仓库中的v2.3.1版本镜像创建容器。

7.验证是否成功启动

查看docker中nacos日志

docker logs nacos2.3.1

在这里插入图片描述
浏览器访问

http://ip:8848/nacos/index.html
在这里插入图片描述

问题汇总

1.如何生成NACOS_AUTH_TOKEN

本质上就是设置一个复杂的字符串,越复杂越安全

使用 OpenSSL 命令行工具

openssl rand -base64 48

在这里插入图片描述

相关文章:

docker安装nacos2.x

本文为单机模式,非集群教程,埋坑 nacos2.x官方强制条件 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。 64 bit JDK 1.8 Maven 3.2.x 环境介绍 centos 7 maven 3.9.9 jdk 17 nacos 2.3.1 1. 拉取docker镜像 d…...

git代理设置

在 Git 中,可以通过以下命令查看当前设置的代理配置: 查看 HTTP 代理 git config --get http.proxy查看 HTTPS 代理 git config --get https.proxy查看全局代理设置 如果你设置了全局代理,可以通过以下命令查看: git config …...

python编程-内置函数bin(),bool(),abs() ,all(),any(),ascii(),max(),min() 详解

1、bin()函数用于将整数转换为其二进制字符串表示。并返回一个以0b开头的字符串,表示该整数的二进制形式。 # 十进制数转换为二进制字符串 decimal_number 42 binary_string bin(decimal_number) print(f"Decimal {decimal_number} is {binary_string} in b…...

GB/T28181 开源日记[8]:国标开发速知速会

服务端源代码 github.com/gowvp/gb28181 前端源代码 github.com/gowvp/gb28181_web 介绍 go wvp 是 Go 语言实现的开源 GB28181 解决方案,基于GB28181-2022标准实现的网络视频平台,支持 rtmp/rtsp,客户端支持网页版本和安卓 App。支持rts…...

6 maven工具的使用、maven项目中使用日志

文章目录 前言一、maven:一款管理和构建java项目的工具1 基本概念2 maven的安装与配置(1)maven的安装(2)IDEA集成Maven配置当前项目工程设置 maven全局设置 (3)创建一个maven项目 3 pom.xml文件…...

js滚动到页面最底部

setTimeout(()> { //延后执行,等页面渲染结束let container document.querySelector(.raise-flag-content); //找到当前divif (container) {container.scrollTop container.scrollHeight - (container.clientHeight - 400 );}})container.scrollTop container…...

Node.js包管理工具npm

目录 什么是 npm npm 主要功能 安装配置 npm 环境 package.json 版本范围规则 使用 npm npm 版本和帮助命令 npm 包相关命令 安装包 卸载包 升级第三方包 升级自己开发的包 查看已安装的包 清除缓存和修复 package.json 相关 运行命令脚本 全局配置 npm 包发布…...

基本数据结构--平衡二叉搜索树之红黑树示例代码

红黑树的规则。红黑树的每个节点有颜色(红或黑),满足以下性质: 每个节点是红或黑。根节点是黑的。叶子节点(NIL节点)是黑的。红节点的子节点必须是黑的。从任一节点到其所有后代叶子节点的路径包含相同数量…...

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览: 国家标准|GB/T 43698-2024 相关标准: &a…...

Python内置函数map(), list(), len(), iter(), hex(), hash()的详细解析,包括功能、语法、示例及注意事项

1. map(function, iterable, ...) 功能:对可迭代对象中的每个元素应用指定函数,返回一个迭代器。 参数: function:要执行的函数(可以是lambda表达式)。 iterable:一个或多个可迭代对象&#x…...

CF 278A.Circle Line

题目分析 输入n个数据作为路径,求从a到b的最短距离,需要将其相成一个圆圈,既可以从小往大走又可以从大往小走 思路分析 依然将数据存为数组,通过下标进行操作,既然说了有两种方式那就计算两种方式哪个更快就输出谁 代…...

DeepSeek模型构建与训练

在完成数据预处理之后,下一步就是构建和训练深度学习模型。DeepSeek提供了简洁而强大的API,使得模型构建和训练变得非常直观。无论是简单的全连接网络,还是复杂的卷积神经网络(CNN)或循环神经网络(RNN),DeepSeek都能轻松应对。本文将带你一步步构建一个深度学习模型,并…...

本地部署deepseek简单教程

部署deepseek,首先需要知道deepseek官网地址:DeepSeek 第一步:Ollama 去ollama下载对应的版本,我的电脑是window 在这里可以看到关于deepseek相关 第二步,下载完ollama无脑下一步就可以 这样属于安装成功 第三步&…...

3.1 可视化算子编程语言

HuggingFists的VO编程语言与常见的其它编程语言有一定的区别。其语言由两种不同的语法特征构成。一部分以可视化算子作为语法基础(简称:VO-O),辅助使用者可视化的完成数据处理/分析流程的编写;一部分采用表达式语法(简称:VO-E)&am…...

UnityShader学习笔记——多种光源

——内容源自唐老狮的shader课程 目录 1.光源类型 2.判断光源类型 2.1.在哪判断 2.2.如何判断 3.光照衰减 3.1.基本概念 3.2.unity中的光照衰减 3.3.光源空间变换矩阵 4.点光源衰减计算 5.聚光灯衰减计算 5.1.聚光灯的cookie(灯光遮罩) 5.2.聚…...

电脑右下角小喇叭没反应怎么回事,快速解决方案

当电脑右下角的小喇叭(音量图标)没有反应时,可以尝试以下快速解决方案: 一、基础检查与操作 检查键盘音量键: 按下键盘上的音量增加或减少键,或尝试Fn音量键(部分笔记本需组合键)&a…...

chrome-base 如何实现一个BindOnce

考虑一个问题: worker_thread.task_runner()->PostDelayedTask(FROM_HERE, base::BindOnce(&Ref::Foo, ref, 1), base::Milliseconds(1000)); BindOnce 是如何实现的呢? 翻看源码:base\functional\bind.h 写的 非常简洁 // Bind a…...

HTML学习之CSS三种引入方式

HTML学习之CSS三种引入方式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…...

Mysql基于binlog主从同步配置

主配置&#xff1a; 修改配置文件&#xff1a;/etc/my.cnf 添加server-id1 重启MySQL服务&#xff1a;systemctl restart mysqld 创建用户并授权&#xff1a; mysql> create user rep192.168.79.% identified with mysql_native_password by 123456; Query OK, 0 rows aff…...

Docker Desktop安装到其他盘

Docker Desktop 默认安装到c盘&#xff0c;占用空间太大了&#xff0c;想给安装到其他盘&#xff0c;网上找了半天的都不对 正确安装命令&#xff1a; start /w "" "Docker Desktop Installer.exe" install --installation-dirF:\docker命令执行成功&am…...

NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理

网关 OcelotGeteway 网关 Ocelot配置文件 {//单地址多实例负载均衡Consul 实现动态伸缩"Routes": [{// 上游 》》 接受的请求//上游请求方法,可以设置特定的 HTTP 方法列表或设置空列表以允许其中任何方法"UpstreamHttpMethod": [ "Get", &quo…...

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改 一、交互式chat页面 1.1 open-webui 交互窗口部署&#xff1a;基于docker安装&#xff0c;且支持联网搜索 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离线操作。它支持各种 LLM…...

go语言中的反射

为什么会引入反射 有时我们需要写一个函数&#xff0c;这个函数有能力统一处理各种值类型&#xff0c;而这些类型可能无法共享同一个接口&#xff0c;也可能布局未知&#xff0c;也有可能这个类型在我们设计函数时还不存在&#xff0c;这个时候我们就可以用到反射。 空接口可…...

旅行社项目展示微信小程序功能模块和开发流程

旅行社当前旅游线路的程序(微信小程序),旨在帮助旅行社更高效地管理线下活动预订,同时为客户提供便捷的报名和查看功能。适用于短途游、团队建设等活动,支持在线预订、缴费及订单管理,可根据用户需求定制更多个性化服务,为公司提升品牌知名度与客户体验。通过简洁明了的…...

JUC学习笔记02

文章目录 JUC笔记2练习题&#xff1a;手写线程池代码解释&#xff1a;AdvancedThreadPool 类&#xff1a;WorkerThread 内部类&#xff1a;AdvancedThreadPoolExample 类&#xff1a; 线程池的思考CPU密集型IO密集型 练习题&#xff1a;手写自动重试机练习题&#xff1a;手写定…...

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构

论文原文链接&#xff1a;DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明&#xff0c;本文不做任何商业用途&#xff0c;仅作为个人学习相关论文的翻译记录。本文对原文内容直译&#xff0c;一切以论文原文内容为准&#xff0c;对原文作者表示…...

python编程-类结构,lambda语法,原始字符串

一个类的基本结构包括以下部分&#xff1a; 类名&#xff1a;用来描述具有相同属性和方法的对象的集合。 属性&#xff1a;类变量或实例变量&#xff0c;用于处理类及其实例对象的相关数据。 方法&#xff1a;在类中定义的函数&#xff0c;用于执行特定操作。 构造器&#xff…...

C++:代码常见规范1

头文件包含 (1)先系统头文件&#xff0c;后用户头文件&#xff1a;这是一个良好的编程习惯。系统头文件通常包含标准库的定义&#xff0c;而用户头文件则包含项目特定的定义。将系统头文件放在前面可以避免因用户头文件中的定义与系统头文件冲突而导致的问题。 #include <…...

C++(进阶五)--STL--用一颗红黑树封装map和set

目录 1.红黑树源码&#xff08;简略版&#xff09; 2.模板参数的控制 3.红黑树的结点 4.迭代器的实现 正向迭代器 反向迭代器 5.set的模拟实现 6.map的模拟实现 7.封装完成后的代码 RBTree.h mymap.h myset.h 1.红黑树源码&#xff08;简略版&#xff09; 下面我们…...

DeepSeek服务器繁忙问题的原因分析与解决方案

一、引言 随着人工智能技术的飞速发展&#xff0c;DeepSeek 等语言模型在众多领域得到了广泛应用。然而&#xff0c;在春节这段时间的使用过程中&#xff0c;用户常常遭遇服务器繁忙的问题&#xff0c;这不仅影响了用户的使用体验&#xff0c;也在一定程度上限制了模型的推广和…...