docker上安装nacos

news2024/11/26 10:46:14

文章目录

  • 一、docker安装nacos简单版
      • 1.拉取镜像
      • 2、挂载目录,用于映射到容器,目录按自己的情况创建
      • 3、mysql新建nacos-config的数据库,并执行脚本 sql脚本地址如下:
      • 4、修改配置文件custom.properties
      • 5、启动容器
      • 6、访问
  • 二、docker安装nacos复杂版
    • 1、简介
      • 1.1、[Nacos](https://so.csdn.net/so/search?q=Nacos&spm=1001.2101.3001.7020) 简介
    • 2、准备工作
      • 2.1、安装 [Docker](https://so.csdn.net/so/search?q=Docker&spm=1001.2101.3001.7020)
      • 2.2、安装 MySQL8
      • 2.3、创建 bridge 网络并指定 IP 区间
      • 2.4、数据库配置
        • 2.4.1、创建数据库
        • 2.4.2、创建用户
        • 2.4.3、下载SQL文件
      • 2.5、创建数据和配置存放目录
      • 2.6、查询 Docker Nacos 版本
    • 3、安装 Nacos
      • 3.1、运行 Nacos
      • 3.2、复制相关文件
      • 3.3、自定义启动 Nacos
    • 4、相关页面
      • 4.1、登录界面
      • 4.2、首页

一、docker安装nacos简单版

1.拉取镜像

docker pull nacos/nacos-server

2、挂载目录,用于映射到容器,目录按自己的情况创建

mkdir -p /mydata/nacos/logs/                      #新建logs目录
mkdir -p /mydata/nacos/init.d/         
vim /mydata/nacos/init.d/custom.properties        #修改配置文件

3、mysql新建nacos-config的数据库,并执行脚本 sql脚本地址如下:

设置持久化,不设置也可以使用

https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql

4、修改配置文件custom.properties

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
 
spring.datasource.platform=mysql
#配置持久化数据库相关信息 ####################################################
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
##########################################################################
 
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

5、启动容器

docker run -d -p 8849:8848 --name nacos_8849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
--restart=always \
nacos/nacos-server

6、访问

访问Nacos 控制台地址:http://47.97.99.28:8849/nacos/

默认用户名:nacos,默认密码:nacos

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tfbzqgk8-1677753357814)(C:\Users\FXY\Desktop\笔记\截图-新\Snipaste_2022-04-30_23-33-29.png)]

二、docker安装nacos复杂版

1、简介

1.1、Nacos 简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2、准备工作

2.1、安装 Docker

CentOS7 安装 Docker

2.2、安装 MySQL8

从 Nacos 1.3.1 版本开始,数据库存储已经升级到8.0,并且它向下兼容
Docker 安装 MySQL 8

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

# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
 
# 查看已存在网络
docker network ls

2.4、数据库配置

2.4.1、创建数据库

在这里插入图片描述

2.4.2、创建用户

用户:nacos,密码:nacos
注意:nacos 用户权限问题
在这里插入图片描述

2.4.3、下载SQL文件

# 下载数据库文件
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql

2.5、创建数据和配置存放目录

# 创建 nacos 配置存放目录
mkdir -p /home/docker/nacos/conf  && chown -R 200 /home/docker/nacos/conf

# 创建 nacos 日志存放目录
mkdir -p /home/docker/nacos/logs  && chown -R 200 /home/docker/nacos/logs

# 创建 nacos 数据存放目录
mkdir -p /home/docker/nacos/data  && chown -R 200 /home/docker/nacos/data
12345678

2.6、查询 Docker Nacos 版本

通过 Docker Hub 查询 Nacos 版本,选择最后版本,如下图:
在这里插入图片描述
在这里插入图片描述

3、安装 Nacos

3.1、运行 Nacos

docker run -d \
-e MODE=standalone \ # 使用 standalone模式(单机模式)
-e SPRING_DATASOURCE_PLATFORM=mysql \ # 选择mysql数据库
-e MYSQL_SERVICE_HOST=192.168.20.255 \ # 数据库地址
-e MYSQL_SERVICE_USER=root \ # 数据库用户名
-e MYSQL_SERVICE_PASSWORD=admin \ # 数据库密码
-e MYSQL_SERVICE_DB_NAME=nacos_config \ # 数据库名称
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e JVM_XMN=256m \
-p 8848:8848 \
--network host \ # 将Linux宿主机的IP赋值给容器IP
--name nacos-sa-mysql \ 
--restart=always \ # 总是重启,加上这句话之后,若重新启动Docker,该容器也会重新启动
nacos/nacos-server
    
#
docker run -d -p 8849:8848 --name nacos_8849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
--restart=always nacos/nacos-server

3.2、复制相关文件

# 把容器中的 nacos 文件复制出来
docker cp -a nacos:/home/nacos /home/docker/

# 删除 nacos 容器
docker rm -f nacos

3.3、自定义启动 Nacos

docker run -d -p 8848:8848 \
--name nacos \
--network woniu_network \
--ip 172.0.0.28 \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=172.0.0.5 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=nacos \
--env MYSQL_SERVICE_PASSWORD=nacos \
-v /home/docker/nacos/conf:/home/nacos/conf \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
nacos/nacos-server:latest

自定义启动 Nacos 参数介绍,不要用这个

# 指定 nacos 对外映射端口,例如:8000:8848
docker run -d -p 8848:8848 \

# docker 容器名称
--name nacos \

# 自定义分配网络,可忽略
--network woniu_network \

# 自定义分配 IP 地址,可忽略
--ip 172.0.0.28 \

# nacos 单机实例
--env MODE=standalone \

# nacos 数据源 MySQL
--env SPRING_DATASOURCE_PLATFORM=mysql \

# MySQL 主机地址,记得改成自己数据库地址
--env MYSQL_SERVICE_HOST=172.0.0.5 \

# MySQL 端口号
--env MYSQL_SERVICE_PORT=3306 \

# MySQL 数据库名称,记得在对应的数据库执行从 github 下载的 SQL 文件
--env MYSQL_SERVICE_DB_NAME=nacos \

# MySQL 用户名称,例如:root
--env MYSQL_SERVICE_USER=nacos \

# MySQL 服务密码,例如:123456
--env MYSQL_SERVICE_PASSWORD=nacos \

# docker 文件映射,把 nacos 容器中文件和本地路径映射起来,方便操作和持久化
# nacos 配置文件目录
-v /home/docker/nacos/conf:/home/nacos/conf \

# nacos 日志文件目录
-v /home/docker/nacos/logs:/home/nacos/logs \

# nacos 数据文件目录
-v /home/docker/nacos/data:/home/nacos/data \

# 指定 docker nacos 版本,示例:nacos/nacos-server:v2.0.4
nacos/nacos-server:latest

4、相关页面

4.1、登录界面

访问地址:http://47.97.99.28:8849/nacos/

Nacos 控制台,默认用户名:nacos,默认密码:nacos ,点击登录
在这里插入图片描述

4.2、首页

在这里插入图片描述

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

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

相关文章

错误:PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。“+文件路径“的解决方案

最近在使用python进行筛选图片的时候,想到用python里面的os库进行图片的删除。 具体筛选方法就是,删除掉图片长度或宽度小于100像素的图片,示例代码如下所示: for file in os.listdir(img_path):if file .split( . )[ - 1 ] j…

深度强化学习DLR

1 强化学习基础知识 强化学习过程:⾸先环境(Env)会给智能体(Agent)⼀个状态(State),智能体接收到环境给的观测值之后会做出⼀个动作(Action),环境接收到智能体给的动作之后会做出⼀系列的反应,例如对这个动作给予⼀个奖励(Reward…

射频功率放大器基于纵向导波的杆状构件腐蚀诊断方法的研究

实验名称:基于纵向导波的杆状构件腐蚀诊断方法研究方向:无损探伤测试设备:信号号发生器、安泰ATA-8202功率放大器、数据采集卡、直流电源、超声探头、钢杆、前置放大器。实验过程:图:试验装置试验装置如图3.2所示。监测…

Android Handler机制(四) Message源码分析

一. 简介 接上一篇文章:Android Handler机制(三) Looper源码分析 ,我们来继续分析一下Message源码 这一系列文章都是为了深入理解Handler机制. Message 作为消息传递的载体,源码主要分为以下 几个部分: 1. 操作数据相关,类似 getter()和 setter()这种…

【JAVASE】注解

文章目录1.概述2.JDK内置注解2.1override注解2.2 Deprecated注解3.元注解4.注解中定义属性4.1 属性value4.2 属性是一个数组5. 反射注解6.注解在开发中的作用1.概述 注解,也叫注释,是一种引用数据类型。编译后也同样生成class字节码文件。 语法 [修饰…

QT获取dll库文件详细信息

一、需求背景获取软件下依赖的dll库的版本信息,如下图所示版本为1.0.7.1018二、实现方法2.1步骤windows下实现,基于version.lib(version.dll)提供的函数获取这些信息首先使用GetFileVersionInfoSizeA(W)获取VersionInfo的大小,申请缓冲区&…

团队API管理工具-YAPI

团队API管理工具-YAPI 推荐一款接口管理平台,操作简单、界面友好、功能丰富、支持markdown语法、可使用Postman导入、Swagger同步数据展示、LDAP、权限管理等功能。 YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接…

stm32智能家居+微信小程序接收控制

这里写目录标题项目介绍mqtt服务器相关知识![在这里插入图片描述](https://img-blog.csdnimg.cn/9ad065fb8fac48b1b975fc3a48b99763.png)下位机代码项目需要的一些开发工具项目介绍 本项目芯片使用STM32F103ZET6,微信小程序开发使用微信开发者工具。 stm32作为下位机&#xff…

【实现点击下载按钮功能 Objective-C语言】

一、实现点击下载按钮功能, 1.接下来,我们再实现另外一个功能,是什么,点击下载按钮吧: 点击下载按钮,是不是要有效果啊, 就是给大家实现这个功能, 首先,我们要实现单击这个效果,是不是要给按钮注册单击事件吧, 请问,这个按钮在哪里啊,是在控制器里面吗,不是,…

Spark性能优化一 概念篇

(一)宽依赖和窄依赖 窄依赖(Narrow Dependency):指父RDD的每个分区只被子RDD的一个分区所使用,例如map、filter等 这些算子一个RDD,对它的父RDD只有简单的一对一的关系,也就是说,RDD的每个part…

Linux 系统 /var/log/journal/ 垃圾日志清理

CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。systemd…

datax导入到hive的数据量翻倍

现象 mysql->hive 或者oracle->hdfs 源表数据100w 结果hive表数据200w。 这个现象很容易发生,只要你同一时间调度这个json两次。 原因 "writeMode" : "append", "nonconflict","truncate" * append&#xff…

无线WiFi安全渗透与攻防(二)之打造专属字典

系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 打造专属字典 什么在破解之前先准备专用字典,因为对于一般家庭来说,常用 一个是预共享密钥PSK,一个是PIN码。 也不是所有的路由都开起了PIN码,一般都会开启域共享密钥…

【蓝桥杯嵌入式】定时器实现按键单击,双击,消抖以及长按的代码实现

🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…

盘点一下那些远程办公的神仙公司

其实远程办公已经有50多年的历史了,这几年,这种工作方式越来越受到大家的喜欢,对于员工来说,工作效率可以大幅提高,节省下来的通勤时间和成本,有更多的时间花在工作上。可以更好的平衡工作与生活。对于公司…

最近我的视频播放浅学总结

因为想做一个类似苹果的同播共享功能,这一段时间对音视频做了一些浅浅的学习,现简单总结记录。 我的需求是找到一个尽可能简单的方案来两人播放一段视频,并且能够进度和操作同步,所以基本不能有延迟,同时能够显示WebV…

12.1 基于Django的服务器信息查看应用(系统信息、用户信息)

文章目录新建Django项目创建子应用并设置本地化创建数据库表创建超级用户git管理项目(requirements.txt、README.md、.ignore)主机信息监控应用的框架搭建具体功能实现系统信息展示前端界面设计视图函数设计用户信息展示视图函数设计自定义过滤器的实现前…

华为OD机试用Python实现 -【广播服务器】

华为OD机试题 最近更新的博客华为 OD 机试 300 题大纲广播服务器题目输入输出示例一输入输出示例二输入输出Python代码代码编写思路最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题

常见的电脑运行卡顿原因及解决方法

大家在日常使用电脑过程中,会发现多开几个文件就卡顿,其实很多时候都跟C盘长期不清理有关,C盘的内存被下载的软件安装包、页面文件、休眠文件、更新文件等一系列的文件占据。大的文件甚至能占到20-30G,驱动人生就为大家带来几种解…

App防抓包的四种绕过方法(详细)

App防抓包的四种绕过方法简介:1、ssl证书校验(https证书校验http请求ssl证书校验)方法演示:安卓5.0怎么安装证书演示:安卓7及以上怎么把证书安卓到系统目录2、代理屏蔽3、证书绑定 (SSL pinning&#xff09…