docker安装nacos2.2.4详解(含:nacos容器启动参数、环境变量、常见问题整理)

一、镜像下载

1、在线下载

在一台能连外网的linux上执行docker镜像拉取命令

docker pull nacos:2.2.4

2、离线包下载

两种方式:

方式一:

-)在一台能连外网的linux上安装docker执行第一步的命令下载镜像

-)导出

# 导出镜像到本地当前目录
docker save -o nacos-2.2.4.tar nacos:2.2.4

方式二:

-)Window桌面程序:Docker Desktop

-)下载镜像

-)安装镜像导出插件(说明过程就复用了之前mysql的图)

-)将镜像文件保存到window本地(图略)

3、发布历史 | Nacos 官网

官方的下载地址,k8s环境用不上,因为官方没有发布镜像(自行打镜像的除外)

二、安装

1、在线安装

见离线安装(只比离线安装少一步导入动作)

2、离线安装

-)导入镜像

docker load -i nacos-2.2.4.tar

-)查看镜像

[docker@GZ***-PM153160 ~]$ docker images
REPOSITORY                                       TAG       IMAGE ID       CREATED         SIZE
nacos/nacos-server                               v2.2.4    f151dab7a111   19 months ago   814MB

-)创建映射目录

创建mysql配置文件目录、数据文件目录,并修改目录权限(不想挂载外部配置的此步聚可以跳过,nacos本身的日志查看容器日志一般也够用)

sudo mkdir -p /opt/nacos/docker-nacos/conf
sudo mkdir -p /data1/nacos/docker-nacos/log
sudo chown -R docker.docker /opt/nacos
# 作者data1目录下全是docker用户程序数据,所以没有指定子目录
sudo chown -R docker.docker /data1
# sudo chown -R docker.docker /data1/nacos

-)启动容器

docker run \--name smet-nacos \--network="host" \-e PREFER_HOST_MODE=ip \-e MODE=standalone \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=10.130.***.160 \-e MYSQL_SERVICE_PORT=3307 \-e MYSQL_SERVICE_DB_NAME=nacos \-e MYSQL_SERVICE_USER=nacos \-e MYSQL_SERVICE_PASSWORD='#!FlG*****' \-e NACOS_APPLICATION_PORT=8848 \-p 18848:8848 -p 19848:9848 -p 19849:9849 \-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" \-e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50**********=" \-e NACOS_AUTH_ENABLE=true \-e NACOS_AUTH_CACHE_ENABLE=true \-e NACOS_SERVER_TIMEOUT=5000 \-v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties \-d f151dab7a111

这个命令做了以下几件事:

  • --name smet-nacos:给容器命名为smet-nacos

  • --network="host":主机网络模式

  • -e PREFER_HOST_MODE=ip   使用IP模式

  •  -e MODE=standalone   单机模式

  •  -e SPRING_DATASOURCE_PLATFORM=mysql  :使用mysql数据源

  •  -e MYSQL_SERVICE_HOST=10.130.***.160  : mysql主机ip(与网络模式有关)

  •  -e MYSQL_SERVICE_PORT=3307  : mysql主机port(与网络模式有关)

  •  -e MYSQL_SERVICE_DB_NAME=nacos  : 数据库名

  •  -e MYSQL_SERVICE_USER=nacos : 数据库用户名

  •  -e MYSQL_SERVICE_PASSWORD='#!FlG****'  : 数据库用户密码

  •  -e NACOS_APPLICATION_PORT=8848   : nacos端口

  •  -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" :mysql jdbc 连接参数

  •  -e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50b2tlbi5zZWNyZXQua2V5LnNtZXQ="  : 鉴权token(可选)

  •  -e NACOS_AUTH_ENABLE=true : 鉴权开关(可选,与NACOS_AUTH_TOKEN配套)

  •  -e NACOS_SERVER_TIMEOUT=5000  : nacos服务超时时间

  •  -v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties :配置文件映射 (可选)

  • -p 18848:8848 -p 19848:9848 -p 19849:9849

  • -d :让容器在后台运行

  • f151dab7a111 : 使用的镜像id

-)查看容器

[docker@GZ***-PM153160 ~]$ docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS NAMES
54d8c2684e70   f151dab7a111  "bin/docker-startup.…"   33 minutes ago   Up 33 minutes         smet-nacos

-)日志

OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.,--.,--.'|,--,:  : |                                           Nacos 2.2.4
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 1
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://10.130.153.160:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'2025-01-30 21:15:42,440 INFO Tomcat initialized with port(s): 8848 (http)
2025-01-30 21:15:42,514 INFO Root WebApplicationContext: initialization completed in 3358 ms
2025-01-30 21:15:46,030 INFO Adding welcome page: class path resource [static/index.html]
2025-01-30 21:15:46,697 WARN You are asking Spring Security to ignore Ant [pattern='/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2025-01-30 21:15:46,698 INFO Will not secure Ant [pattern='/**']
2025-01-30 21:15:46,724 INFO Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5cf3157b, org.springframework.security.web.context.SecurityContextPersistenceFilter@4adc663e, org.springframework.security.web.header.HeaderWriterFilter@3240b2a4, org.springframework.security.web.csrf.CsrfFilter@1e1e9ef3, org.springframework.security.web.authentication.logout.LogoutFilter@74e6094b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@8bd86c8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2d3ef181, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@625dfff3, org.springframework.security.web.session.SessionManagementFilter@7d3fb0ef, org.springframework.security.web.access.ExceptionTranslationFilter@31c628e7]
2025-01-30 21:15:46,754 INFO Exposing 1 endpoint(s) beneath base path '/actuator'
2025-01-30 21:15:46,819 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2025-01-30 21:15:46,845 INFO Nacos started successfully in stand alone mode. use external storage

-)从容器内部拷贝配置文件

可选

[docker@GZ***-PM153160 ~]$ docker cp 54d8c2684e70:/home/nacos/conf/application.properties /opt/nacos/docker-nacos/application.properties
Successfully copied 12.3kB to /opt/nacos/docker-nacos/application.properties

-)调整其他配置(可选)

vi /opt/nacos/docker-nacos/application.properties

按需修改后,删除原容器,添加配置文件映射参数后重新创建容器

docker run \--name smet-nacos \--network="host" \-e PREFER_HOST_MODE=ip \-e MODE=standalone \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=10.130.***.160 \-e MYSQL_SERVICE_PORT=3307 \-e MYSQL_SERVICE_DB_NAME=nacos \-e MYSQL_SERVICE_USER=nacos \-e MYSQL_SERVICE_PASSWORD='#!FlG*****' \-e NACOS_APPLICATION_PORT=8848 \-p 18848:8848 -p 19848:9848 -p 19849:9849 \-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" \-e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50**********=" \-e NACOS_AUTH_ENABLE=true \-e NACOS_AUTH_CACHE_ENABLE=true \-e NACOS_SERVER_TIMEOUT=5000 \-v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties \-d f151dab7a111

-)重启容器

[docker@GZ***-PM153160 ~]$ docker restart f151dab7a111
f151dab7a111

三、登陆

默认账密:nacos/nacos

四、总结

大家需要的docker安装nacos相关的所有知识点基本上都在此文中了,作者亲测有效,请放心参考~

附件一:遇到的问题总结

1、docker启动报No DataSource set

docker启动nacos 报 dumpservice bean construction failure : No DataSource set

可能的原因:

-)数据库配置不正确,或没有配置(本文上面的docker run。。。命令中带了),作者使用的host网络模式省去了很多麻烦,当然读者也可以使用其他网络模式,只要保证nacos容器能连上mysql服务就行。

2、docker启动日志显示use embeded storage

docker没有使用mysql存储模式启动

如果使用了mysql存储模式,应在日志最后显示:use external storage

可能的原因:

-)数据库配置不正确,或没有配置。参考作者上面的启动命令即可

附件二:docker网络模式

Docker支持多种网络模式,主要包括以下几种‌:‌

  1. Bridge模式‌:这是Docker的默认网络模式。每个容器都会连接到虚拟网桥上,类似于一个虚拟交换机。容器之间可以通过IP地址或容器名称进行通信,但与外部网络隔离。Bridge模式适用于大多数标准应用场景,特别是需要容器之间通信但又与外部网络隔离时。

  2. Host模式‌:在这种模式下,容器直接使用宿主机的网络接口,没有独立的IP地址。容器与宿主机共享网络栈,但与其他容器隔离。Host模式适用于需要高性能网络连接的应用,如高频交易系统、实时数据处理等。然而,这种模式的安全性较低,因为容器与宿主机共享网络。

  3. Container模式‌:一个容器可以共享另一个容器的网络栈。新容器通过指定--net=container:<target_container>来共享目标容器的网络资源。这种模式适用于需要紧密协作的容器,如服务发现或负载均衡场景。然而,多个容器共享网络栈可能会影响安全性。

  4. None模式‌:在这种模式下,容器没有分配网络接口,通常用于容器间的依赖关系,如使用Docker-in-Docker场景。None模式适用于不需要网络连接的容器,或者作为其他容器的网络依赖。

  5. Overlay网络‌:这种模式允许跨主机的容器相互通信,而无需操作系统管理路由。Overlay网络适用于Docker Swarm集群,特别适合分布式应用的场景。

  6. IPvLAN模式‌:这种模式提供对容器的IPv4和IPv6地址进行详细控制的能力,适用于需要精细控制容器IP地址、标记和路由的场景。

  7. Macvlan模式‌:这种模式让容器像网络上的物理设备一样运行,通过为每个容器分配自己的MAC地址来实现。适用于需要像物理设备一样运行的容器场景。

选择合适的网络模式取决于具体的应用需求和部署环境。Bridge模式适用于大多数标准应用场景,Host模式适用于高性能需求,Container模式适用于紧密协作的容器,None模式适用于不需要网络连接的容器,Overlay、IPvLAN和Macvlan模式则提供了更高级的网络配置选项‌。

如果喜欢我的文章,请帮我点赞,谢谢~  

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

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

相关文章

【图床配置】PicGO+Gitee方案

【图床配置】PicGOGitee方案 文章目录 【图床配置】PicGOGitee方案为啥要用图床图床是什么配置步骤下载安装PicGoPicGo配置创建Gitee仓库Typora中的设置 为啥要用图床 在Markdown中&#xff0c;图片默认是以路径的形式存在的&#xff0c;类似这样 可以看到这是本地路径&#x…

【C++】类与对象(下)

&#x1f984; 个人主页: 小米里的大麦-CSDN博客 &#x1f38f; 所属专栏: 小米里的大麦——C专栏_CSDN博客 &#x1f381; 代码托管: 小米里的大麦的Gitee仓库 ⚙️ 操作环境: Visual Studio 2022 文章目录 1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit 关键…

SpringBoot笔记

1.创建 使用idea提供的脚手架创建springboot项目&#xff0c;选上需要的模块&#xff0c;会自动进行导包 打成jar包&#xff0c;之前直接用原生的maven打包的是一个瘦jar&#xff0c;不能直接跑&#xff0c;把服务器上部署的jar排除在外了&#xff0c;但是现在加上打包查件&am…

Fiddler(一) - Fiddler简介_fiddler软件

文章目录 一、为什么选择Fiddler作为抓包工具? 二、什么是Fiddler?三、Fiddler使用界面简介四、延伸阅读 一、为什么选择Fiddler作为抓包工具? 抓包工具有很多&#xff0c;小到最常用的web调试工具firebug&#xff0c;大到通用性强大的抓包工具wireshark。为什么使用fid…

受击反馈HitReact、死亡效果Death Dissolve、Floating伤害值Text(末尾附 客户端RPC )

受击反馈HitReact 设置角色受击标签 (GameplayTag基本了解待补充) 角色监听标签并设置移动速度 创建一个受击技能&#xff0c;并应用GE 实现设置角色的受击蒙太奇动画 实现角色受击时播放蒙太奇动画&#xff0c;为了保证通用性&#xff0c;将其设置为一个函数&#xff0c;并…

Vue+Echarts 实现青岛自定义样式地图

一、效果 二、代码 <template><div class"chart-box"><chart ref"chartQingdao" style"width: 100%; height: 100%;" :options"options" autoresize></chart></div> </template> <script> …

线段树(Segment Tree)和树状数组

线段树&#xff08;Segment Tree&#xff09;和树状数组 线段树的实现链式&#xff1a;数组实现 解题思路树状数组 线段树是 二叉树结构 的衍生&#xff0c;用于高效解决区间查询和动态修改的问题&#xff0c;其中区间查询的时间复杂度为 O(logN)&#xff0c;动态修改单个元素的…

计算机网络 (62)移动通信的展望

一、技术发展趋势 6G技术的崛起 内生智能&#xff1a;6G将强调自适应网络架构&#xff0c;通过AI驱动的智能算法提升通信能力。例如&#xff0c;基于生成式AI的6G内生智能架构将成为重要研究方向&#xff0c;实现低延迟、高效率的智能通信。信息编码与调制技术&#xff1a;新型…

数据结构 前缀中缀后缀

目录 前言 一&#xff0c;前缀中缀后缀的基本概念 二&#xff0c;前缀与后缀表达式 三&#xff0c;使用栈实现后缀 四&#xff0c;由中缀到后缀 总结 前言 这里学习前缀中缀后缀为我们学习树和图做准备&#xff0c;这个主题主要是对于算术和逻辑表达式求值&#xff0c;这…

音视频多媒体编解码器基础-codec

如果要从事编解码多媒体的工作&#xff0c;需要准备哪些更为基础的内容&#xff0c;这里帮你总结完。 因为数据类型不同所以编解码算法不同&#xff0c;分为图像、视频和音频三大类&#xff1b;因为流程不同&#xff0c;可以分为编码和解码两部分&#xff1b;因为编码器实现不…

AI大模型开发原理篇-1:语言模型雏形之N-Gram模型

N-Gram模型概念 N-Gram模型是一种基于统计的语言模型&#xff0c;用于预测文本中某个词语的出现概率。它通过分析一个词语序列中前面N-1个词的出现频率来预测下一个词的出现。具体来说&#xff0c;N-Gram模型通过将文本切分为长度为N的词序列来进行建模。 注意&#xff1a;这…

Windows系统本地部署deepseek 更改目录

本地部署deepseek 无论是mac还是windows系统本地部署deepseek或者其他模型的命令和步骤是一样的。 可以看: 本地部署deepsek 无论是ollama还是部署LLM时候都默认是系统磁盘&#xff0c;对于Windows系统&#xff0c;我们一般不把应用放到系统盘&#xff08;C:&#xff09;而是…

知识库管理如何推动企业数字化转型与创新发展的深层次探索

内容概要 在当今数字化转型的大背景下&#xff0c;知识库管理日益显现出其作为企业创新发展的核心驱动力的潜力。这种管理方式不仅仅是对信息的存储与检索&#xff0c;更是一种赋能&#xff0c;以提升决策效率和员工创造力。企业能够通过系统地整合和管理各类知识资源&#xf…

商品列表及商品详情展示

前言 本文将展示一段结合 HTML、CSS 和 JavaScript 的代码&#xff0c;实现了一个简单的商品展示页面及商品详情&#xff0c;涵盖数据获取、渲染、搜索及排序等功能。 效果展示 点击不同的商品会展示对应的商品详情。 代码部分 代码总体实现 <!DOCTYPE html> <htm…

论文阅读:Realistic Noise Synthesis with Diffusion Models

这篇文章是 2025 AAAI 的一篇工作&#xff0c;主要介绍的是用扩散模型实现对真实噪声的仿真模拟 Abstract 深度去噪模型需要大量来自现实世界的训练数据&#xff0c;而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成…

【汽车电子架构】AutoSAR从放弃到入门专栏导读

本文是汽车电子架构&#xff1a;AutoSAR从放弃到入门专栏的导读篇。文章延续专栏文章的一贯作风&#xff0c;从概念与定义入手&#xff0c;希望读者能对AutoSAR架构有一个整体的认识&#xff0c;然后对专栏涉及的文章进行分类与链接。本文首先从AutoSAR汽车软件架构的概念&…

毕业设计--具有车流量检测功能的智能交通灯设计

摘要&#xff1a; 随着21世纪机动车保有量的持续增加&#xff0c;城市交通拥堵已成为一个日益严重的问题。传统的固定绿灯时长方案导致了大量的时间浪费和交通拥堵。为解决这一问题&#xff0c;本文设计了一款智能交通灯系统&#xff0c;利用车流量检测功能和先进的算法实现了…

FPGA|使用quartus II通过AS下载POF固件

1、将开发板设置到AS下载挡位&#xff0c;或者把下载线插入到AS端口 2、打开quartus II&#xff0c;选择Tools→Programmer→ Mode选择Active Serial Programming 3、点击左侧Add file…&#xff0c;选择 .pof 文件 →start 4、勾选program和verify&#xff08;可选&#xff0…

适合超多氛围灯节点应用的新选择

文章目录 1.前言2.芯片简介2.1 高动态RGB照明2.2 灵活的通信模式2.3 精确的颜色控制2.4 高性能与可靠性2.5 易于集成与控制 3.硬件介绍3.1 方案框图3.2 通信模式3.3 器件选型 4.基础操作4.1 基础操作示例4.2 状态机4.3 启动行为4.4 诊断 5 颜色控制和温度稳定化5.1 颜色控制5.2…

MATLAB-Simulink并行仿真示例

一、概述 在进行simulink仿真的过程中常常遇到CPU利用率较低&#xff0c;仿真缓慢的情况&#xff0c;可以借助并行仿真改善这些问题&#xff0c;其核心思想是将参数扫描、蒙特卡洛分析或多工况验证等任务拆分成多个子任务&#xff0c;利用多核CPU或计算集群的并行计算能力&…