07-架构2023版-centos+docker部署nacos

news2025/1/9 19:20:36

1、创建nacos的数据库配置

1.1、创建数据库

1.2、创建用户nacos并授权数据库

参考 06 mysql 创建账户部分内容

1.3、执行数据库脚本

导入官方nacos sql语句。如果是历史有历史数据, 从历史数据sql导入

2、创建 bridge 网络并指定 IP 区间

2.1、创建自定义网络

docker network create --driver bridge --subnet 172.0.0.0/16 nacos_network

2.2、查看已存在网络

docker network ls

3、创建数据和配置服务器存放目录

3.1、 创建 nacos 存放目录

mkdir -p /root/docker/nacos/conf && chown -R 200 /root/docker/nacos/conf

mkdir -p /root/docker/nacos/logs && chown -R 200 /root/docker/nacos/logs

mkdir -p /root/docker/nacos/data && chown -R 200 /root/docker/nacos/data

4、安装nacos

4.1、注意点

1、先启动,然后从容器中复制出来配置文件、然后挂载本地目录,再次启动,启动时候可以修改运行端口号等其他配置项内容哦

4.2、测试运行(未挂载本地目录): 目的是复制配置文件出来

docker run -d --name nacos --env PREFER_HOST_MODE=hostname \
--env MODE=standalone -p 8848:8848 nacos/nacos-server:v2.2.2

看启动日志

docker logs -f nacos

4.3、复制镜像中的conf目录里的文件,到本地盘

docker cp -a nacos:/home/nacos/conf /root/docker/nacos

4.4、查看是否复制成功

ls /root/docker/nacos/conf/

期待结果

4.6、修改配置文件(跳过, 没什么修改的,配置都在启动时传入)

vi /root/docker/nacos/conf/application.properties

4.5、删除已生成的历史容器

docker rm -f nacos

4.6、重新部署nacos(挂载本地目录)

docker run -d --name nacos  --restart always --privileged=true \
-p 17001:8848 -p 17002:9848 -p 17003:9849 \
-v /root/docker/nacos/conf:/home/nacos/conf \
-v /root/docker/nacos/data:/home/nacos/data \
-v /root/docker/nacos/logs:/home/nacos/logs \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=39.108.208.140 \
-e MYSQL_SERVICE_PORT=18001 \
-e MYSQL_SERVICE_DB_NAME=cloud_nacos \
-e MYSQL_SERVICE_USER=mydbuser \
-e MYSQL_SERVICE_PASSWORD=myDBPass123 \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacosPass123 \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
nacos/nacos-server:v2.2.2

参数说明

 --restart always \ 重启docker时,自动启动相关容器

--privileged=true  \ 扩大容器内的权限,将容器内的权限变为root权限,不加的话就是普通用户权限,可能会出现cannot open directory


-p 17001:8848 -p 17002:9848 -p 17003:9849 \   指定端口映射,注意这里的p不能大写,大写是随机端口映射; (9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)


-v /root/docker/nacos/conf:/home/nacos/conf \    挂载conf目录
-v /root/docker/nacos/data:/home/nacos/data \    挂载data目录
-v /root/docker/nacos/logs:/home/nacos/logs \    挂载logs目录


-e MODE=standalone \  使用 standalone模式(单机模式),MODE值有cluster(集群)模式/standalone模式两种,MODE必须大写


-e SPRING_DATASOURCE_PLATFORM=mysql \   指定 nacos 数据源为MySQL
-e MYSQL_SERVICE_HOST=39.108.208.140 \  数据库IP
-e MYSQL_SERVICE_PORT=18001 \  数据库端口
-e MYSQL_SERVICE_DB_NAME=cloud_nacos \  数据库库名
-e MYSQL_SERVICE_USER=mydbuser \   数据库用户名
-e MYSQL_SERVICE_PASSWORD=myDBPass123 \ 数据库密码

下面四项是2.1以上版本取消了默认值,必须手动赋值, 鉴权访问相关的:
-e NACOS_AUTH_ENABLE=true \ 
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacosPass123 \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \

5、验证是否部署成功

5.1、查看启动日志

docker logs -f nacos

5.2、查看视图界面

5.2.1、默认账号密码: nacos/nacos

5.2.2、浏览地址

http://你的IP: 你上面映射的8848的端口17001/nacos

5.2.3、登录成功后视图

6、配置中心

7、注册中心

8、附加知识(集群部署时)

配置实例

docker run -d --name nacos  --restart always --privileged=true \
-p 17001:8848 -p 17002:9848 -p 17003:9849 \
-v /root/docker/nacos/conf:/home/nacos/conf \
-v /root/docker/nacos/data:/home/nacos/data \
-v /root/docker/nacos/logs:/home/nacos/logs \
-net host \
-e MODE=cluster \
-e NACOS_SERVERS='其他2结点IP:端口,其他3结点IP:端口'  \ 
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=39.108.208.140 \
-e MYSQL_SERVICE_PORT=18001 \
-e MYSQL_SERVICE_DB_NAME=cloud_nacos \
-e MYSQL_SERVICE_USER=mydbuser \
-e MYSQL_SERVICE_PASSWORD=myDBPass123 \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacosPass123 \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e TZ=Asia/Shanghai \
nacos/nacos-server:v2.2.2

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/conf:/home/nacos/conf \
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.133:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.2.2

nacos2

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)

-v /root/docker/nacos/conf:/home/nacos/conf \    挂载conf目录
-v /root/docker/nacos/data:/home/nacos/data \    挂载data目录
-v /root/docker/nacos/logs:/home/nacos/logs \    挂载logs目录
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.134:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.2.2

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

选择排序:20年前在谭浩强《c语言程序设计上》学习过(43)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 什么是选择排序? 用Python写段代码,实现插入排序。 选择排序 选择排序是一种简单的排序算…

Contrastive Learning

https://towardsdatascience.com/understanding-contrastive-learning-d5b19fd96607 The Beginner’s Guide to Contrastive Learning Contrastive Representation Learning | LilLog

Visual Studio 怎样设置断点并调试

1-普通断点 设置普通断点的方法很简单,就是在代码行的左边栏灰色区域点击或者把光标放在某代码行,按下 F9。 2-调试 按F5开始调试,按F11是逐行调试,F10是逐过程调试,shiftF5是停止调试。 3-高级调试 见链接&#x…

学系统集成项目管理工程师(中项)系列22b_信息化知识(中)

1. 信息化 1.1. 产品信息化 1.1.1. 信息化的基础 1.2. 企业信息化 1.2.1. 国民经济信息化的基础 1.3. 产业信息化 1.3.1. 【21下选08】 1.4. 国民经济信息化 1.5. 社会生活信息化 1.6. 【22上选08】 1.7. 基本内涵 1.7.1. 信息化的主体是全体社会成员,包…

日语文法PPT截图16-30

16句子的构成 单句 谓语只出现了一次 重句 两个谓语 并且两个谓语是对应的关系 由多个在意义上有差距的小句共同构成的句子 叫复文 用一个句子去修饰一个名词 也是个很典型的复文 被名词化了的句子充当小句,这也是复文的一种情况 引用形式的复文 对于这种复文的…

Java-API简读_java.util.RandomAccess接口(基于JDK1.8)(不涉及源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130727525 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

史上最详细的SQL盲注入门教程

测试同学在做安全测试时,相信多少都会遇到SQL注入与盲注的漏洞,那么今天我们就来分享下SQL注入与盲注的相关知识,希望对大家有所启发。 一、SQL盲注的定义 SQL注入,简单理解,也就是将用户输的的内容当代码执行了&…

Docker的使用 (1.安装docker)

安装docker前非常重要的准备工作 请保证你的centos 操作系统为至少为7版本请关闭linux的防火墙虚拟机联网,安装好yum工具 安装docker # 设置docker镜像源 yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed…

Aqua 启动管道完整性扫描以检测恶意软件

云原生安全提供商 Aqua Security 已宣布添加管道完整性扫描,以防止软件供应链攻击并确保 CI/CD 管道完整性。 在 eBPF 技术的支持下,Aqua 的管道完整性扫描器实时检测并阻止可疑行为和恶意软件,防止代码篡改并应对软件构建过程中的威胁。 该…

Spring Boot异常处理

目录 Spring Boot异常处理 介绍 拦截器VS 过滤器 自定义异常页面 自定义异常页面 代码实战 需求 代码实现 创建MyErrorController类来模拟异常错误 完成测试 全局异常 说明 全局异常-应用实例 创建GlobalExceptionHandler.java 创建对应的视图地址global.html 完成…

Docker的使用 (1.什么是docker)

前言 这个系列是我自己学习使用docker的记录和分享,作为一名开发人员,你需要了解这个东西并且学会它的简单使用,但是作为一名开发而不是运维,不要花过多的时间去深究它的原理,而是把它当作一个工具即可 docker Docke…

新的RA Group勒索软件针对美国组织进行双重勒索攻击

一个名为“RA Group”的新勒索软件组织针对美国和韩国的制药、保险、财富管理和制造公司。 新的勒索软件行动始于 2023 年 4 月,当时他们在暗网上启动了一个数据泄露站点,以发布受害者的详细信息和被盗数据,采用了大多数勒索软件团伙使用的典…

1.2 Kubernetes架构组件

1.2 Kubernetes架构组件 学习Kubernetes的架构组件,也就是说我们要搭建一个Kubernetes集群里面应该有哪些组成部分,里面具体会有哪些组件。如图 组建一个Kubernetes的集群至少需要包含两个部分,即Master和node,Master即主控节点&…

5月16日|5月17日 6H|时间轴复盘

目录 5月16日 5月17日 5月16日 7:50 起床 7:50-8:25 洗漱到教室吃饭🥚🥚🥛 8:25-8:55 扇贝单词*105 【30min】 8:55- 20:10-21:04 做阅读真题 21:04-21:49 订正答案 糟糕的一天 记忆完全失踪 🆘 5月17日 7:00 起床 7:00-7:30 起床洗漱到教室 7:30-8:00…

1.3 Kubernetes核心概念

1.3 Kubernetes核心概念 在Kubernetes中有三个核心的概念,即Pod、Controller、Service。整个过程可以理解为通过Service统一入口进行访问,由Controller去创建Pod进行部署。 1.3.1 Pod Pod是在Kubernetes中最小的部署单元,如图 Pod的特点 …

免费可用 ChatGPT 网页版

前言 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来…

2.5 Java开发环境搭建

2.5 Java开发环境搭建 一、JDK下载与安装 我们主要下载安装JDK8,有些人认为现在已经更新到了JDK12以及更高的版本,无论JDK12、13还是更高的版本,在企业中用的并不是很多,而且每次更新只是增加了一些新特性,我们只需要…

PDF大文件批量去除水印,又一个省心小妙招

PDF大文件批量去除水印,又一个省心小妙招 适用场景:本教程适合批量去除文件量较大的PDF文档内的图片水印。 使用软件:Python; 需安装第三方库:PIL,fitz,pymupdf pip install PIL pip install…

Robot Framework+Jenkins持续集成UI自动化项目

使用Robot Framework框架可进行Web端和APP端的UI自动化测试,为方便定时执行,可将Robot Framework的自动化项目持续集成至Jenkins平台,具体的操作步骤如下: 安装Jenkins的步骤如下: 手把手教小白安装Jenkins_程序员馨馨…

关于对【java中的Lambda表达式】的理解与简述

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130522535 出自【进步*于辰的博客】 坦白说,在我学会如何使用Lambda表达式后&#x…