docker安装单机nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx

news2024/11/29 8:37:44

目录在右侧中部

启动容器报错
在这里插入图片描述
直接删除那个name后边的就可以

安装nacos

首先需要拉取对应的镜像文件:docker pull nacos/nacos-server

挂载目录:

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

修改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

启动nacos容器:

docker  run \
--name nacos -d \
-p 8848:8848 \
--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 \
nacos/nacos-server

浏览器登录:ip:8848/nacos 账号:nacos 密码:nacos

设置nacos自启动:docker update --restart=always nacos

安装rocketmq

拉取镜像:docker pull rocketmqinc/rocketmq

创建一个数据目录:

mkdir -p /docker/rocketmq/nameserver/logs /docker/rocketmq/nameserver/store

启动容器:

docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876  -v /docker/rocketmq/nameserver/logs:/root/logs -v /docker/rocketmq/nameserver/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

参数 说明

-d	以守护进程的方式启动
--restart=always	docker重启时候容器自动重启
--name rmqnamesrv	把容器的名字设置为rmqnamesrv
-p 9876:9876	把容器内的端口9876挂载到宿主机9876上面
-v /docker/rocketmq/nameserver/logs:/root/logs	目录挂载
-v /docker/rocketmq/nameserver/store	目录挂载
rmqnamesrv	容器的名字
-e “MAX_POSSIBLE_HEAP=100000000”	设置容器的最大堆内存为100000000
rocketmqinc/rocketmq	使用的镜像名称
sh mqnamesrv	启动namesrv服务

安装broker

创建3个文件目录

mkdir -p  /docker/rocketmq/broker/logs /docker/rocketmq/broker/store /docker/rocketmq/conf

创建broker.conf配置文件 touch /docker/rocketmq/conf/broker.conf,目录放哪里都行

文件内容如下:

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 主机IP

启动broker:

 docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v /docker/rocketmq/broker/logs:/root/logs -v /docker/rocketmq/broker/store:/root/store -v /docker/rocketmq/conf/broker.conf:/opt/docker/rocketmq/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/docker/rocketmq/broker.conf

参数 说明

-d	以守护进程的方式启动
--restart=always	docker重启时候容器自动重启
--name rmqbroker	把容器的名字设置为rmqbroker
--link rmqnamesrv:namesrv	和rmqnamesrv容器通信
-p 9876:9876	把容器内的端口9876挂载到宿主机9876上面
-p 10909:10909	把容器的vip通道端口挂载到宿主机
-e “NAMESRV_ADDR=namesrv:9876”	指定namesrv的地址为本机namesrv的ip地址:9876
-e “MAX_POSSIBLE_HEAP=200000000” rocketmqinc/rocketmq sh mqbroker	指定broker服务的最大堆内存
rocketmqinc/rocketmq	使用的镜像名称
sh mqbroker -c /opt/docker/rocketmq/broker.conf	指定配置文件启动broker节点

安装控制台

拉取镜像:docker pull pangliang/rocketmq-console-ng

启动:

docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr= ip地址:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'" -v /etc/localtime:/etc/localtime -p 8080:8080 pangliang/rocketmq-console-ng

访问:ip:8080

安装redis

拉取redis镜像:

#不指定版本号,默认拉取最新版的 redis docker pull redis
#指定的版本号 docker pull redis:5.0.7 

创建目录存放redis.conf文件

mkdir -p /opt/docker/redis/conf
mkdir -p /opt/docker/redis/data
cd /opt/docker/redis/conf

下载redis.conf文件,也可以自己上传:wget http://download.redis.io/redis-stable/redis.conf

安装wget命令:yum install wget,有此命令可跳过

文件授权chmod 777 redis.conf

修改默认配置信息 vi /opt/docker/redis/redis.conf

bind 127.0.0.1		注释掉,解除本地连接限制

daemonize yes 默认no 为不守护进程模式;此属性设置yes与启动命令-d两者会冲突,两者选其一

设置密码(建议设置,不设置有风险)requirepass  密码

持久化(可选)	appendonly yes

docker启动redis命令

docker run -p 6379:6379 --name redis -v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf  -v /opt/docker/redis/data:/data --restart=always -d redis redis-server /etc/redis/redis.conf --appendonly yes 
命令分析

-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
–name redis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载文件或目录 :前表示主机部分,:后表示容器部分。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf
以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
-–appendonly yes 开启redis 持久化
-–requirepass 123456 设置密码为123456
--restart=always	docker重启时候容器自动重启

检查redis容器是否在运行 docker ps

使用连接工具测试

安装xxl-job

配合数据库使用,需要先安装mysql,安装好的就可以按如下操作配置xxl_job库

创建文件 vi tables_xxl_job.sql

找到对应xxl版本的建库sql,地址:xxl_job的sql脚本地址
在这里插入图片描述
复制sql语句到刚刚编辑的文件中,保存退出

将文件上传的mysql容器里面:docker cp tables_xxl_job.sql mysql:tables_xxl_job.sql mysql 是mysql容器的名字

登录mysql:docker exec -it 152267cc6abf /bin/sh 152267cc6abf 这个是mysql对应的容器id

在#号后面直接输入:mysql -uroot -p -u后面是账号

在enter password 后面输入密码不显示,输入完直接回车即可

在这里插入图片描述
登入mysql后面输入导入sql文件命令:source tables_xxl_job.sql

导入之后数据库就能看到xxl_job这个库,然后退出mysql容器:exit 命令

拉取xxl_job镜像:docker pull xuxueli/xxl-job-admin:2.3.1

运行

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.1.128:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=root \
--spring.datasource.password=root" \
-p 8888:8080 -v /tmp:/data/applogs \
--name xxl-job-admin --restart=always --privileged=true -d xuxueli/xxl-job-admin:2.3.1

访问地址:http://192.168.1.128:8888/xxl-job-admin/toLogin 账号/密码:admin/123456

安装minio

下载minio的镜像:docker pull minio/minio

启动容器:

docker run -p 9000:9000 -p 9090:9090 \
 --name minio \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=minioadmin" \
 -e "MINIO_SECRET_KEY=minioadmin" \
 -v /mydata/minio/data:/data \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"

9090端口指的是minio的客户端端口;9000端口是minio的服务端端口

虽然设置9090,但是在访问9000的时候,会自动跳到9090。程序连接minio时,就是这个端口连接

访问地址:http://192.168.1.128:9090 账号密码 minioadmin/minioadmin

安装elasticsearch

拉取镜像:docker pull elasticsearch:7.12.1 注意版本稳定性,版本稳定性很重要

创建Elasticsearch配置文件夹、数据文件夹、插件文件夹(如:ik)

mkdir -p /usr/local/data-docker/elasticsearch/config
mkdir -p /usr/local/data-docker/elasticsearch/data
mkdir -p /usr/local/data-docker/elasticsearch/plugins

目的将CentOS本地的文件夹映射到Elasticsearch容器,以实现容器数据的持久化到CentOS本地,以及通过CentOS本地文件夹内容的修改同步到容器

创建并写入elasticsearch.yml配置,注:http.host: 0.0.0.0 冒号后有一空格

echo "http.host: 0.0.0.0">>/usr/local/data-docker/elasticsearch/config/elasticsearch.yml

文件夹赋权 chmod -R 777 elasticsearch/ 要进入到文件夹位置

启动容器:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -d --restart=always -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /usr/local/data-docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/data-docker/elasticsearch/data:/usr/share/elasticsearch/data -v /usr/local/data-docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.12.1

访问地址:192.168.1.128:9200

安装kibana

拉取镜像: docker pull kibana:7.12.1 与elasticsearch版本保持一致

创建目录、配置文件

mkdir -p /usr/local/kibana/config
vi /usr/local/kibana/config/kibana.yml

配置文件内容

#设置Kibana映射端口
server.port: 5601
#设置网关地址
server.host: "0.0.0.0"
#设置Kibana实例对外展示的名称
server.name: "kibana"
#设置ES集群地址
elasticsearch.hosts: "http://192.168.1.128:9200"
#设置请求超时时长
elasticsearch.requestTimeout: 120000
#设置页面语言
i18n.locale: "zh-CN"

启动容器:
docker run -d -p 5601:5601 -v /usr/local/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml --restart=always --name kibana kibana:7.12.1

数据包转发,执行命令vim /usr/lib/sysctl.d/50-default.conf

末尾添加net.ipv4.ip_forward = 1

重启networksystemctl restart network

访问地址:192.168.1.128:5601

安装gogs

拉取镜像:docker pull gogs/gogs

创建文件夹:`mkdir /home/gogs

运行容器:docker run --restart=always -d -p 10022:22 -p 13000:3000 -v /home/gogs:/data gogs/gogs

注意:
22端口是gogs的ssh服务端口,如果不开启ssh服务,可不做这个端口映射,3000是gogs应用服务端口,这两个端口可以修改,但是需要结合后续配置一同修改。

访问地址:http://192.168.1.128:13000

首次访问配置

gogs目前支持3种数据库:MySQL、PostgreSQL、SQLite3

如果没有数据库,可以选择SQLite3,我配置的mysql,配置好后要创建对应的库(数据库名称gogs,就要创建gogs库)
在这里插入图片描述

基本应用设置:

    应用名称:可以换成自定义名称

    仓库根目录:使用默认就行了,默认/data/git/gogs-repositories,如果采用了数据卷映射,比如我这里因为/home/gogs映射/data,所以这个目录在宿主机中的地址是/home/gogs/git/gogs-repositories

    运行系统用户:不要修改,默认就是git用户,修改可能会有问题

    域名:使用ssh时使用的域名或者IP(看后文使用说明)

    SSH 端口号:gogs启用ssh时使用的端口号,默认22端口,如果修改了这个端口号,那么在上面创建容器时要对应的将10022端口映射到修改的端口号,如果不启用ssh,则置空

    HTTP 端口号:gogs应用启动的http端口,默认3000,如果修改了这个端口号,那么在上面创建容器时要对应的将13000端口映射到修改的端口号

    应用 URL:即打开应用的url地址,因为这里采用了docker,所以我们要修改成宿主机的地址转发去访问,比如这里我的宿主机地址:192.168.1.128,它的13000端口会转发到容器的3000端口,所以这里填:http://192.168.1.128:13000/

    日志路径:gogs的日志保存路径,默认就行了

注:更多配置在/data/gogs/conf/app.ini中,如果采用了数据卷映射,比如/home/gogs映射/data,所以这个文件在宿主机中的/home/gogs/gogs/conf/app.ini

在这里插入图片描述
此设置自己配置
在这里插入图片描述
自己注册账号,然后登陆

在这里插入图片描述
在这里插入图片描述
新建仓库:授权许可貌似是开源协议,可自行搜索
在这里插入图片描述
貌似还可以配置https的拉取方式,没做研究
在这里插入图片描述
直接使用这个ssh地址去clone,会让你输入git的密码输入密码也是错的

ssh的连接地址是 user@host:path 格式,对于上面的仓库,git是用户名,host是宿主机地址(192.168.209.128),gogs/BGserver.git是仓库路径。

那端口呢?熟悉ssh命令的话就会知道,ssh命令如果要指定端口,需要使用-p选项来指定,否则使用的是默认端口22.

我们的gogs是部署在docker上,对于ssh,使用宿主机的10022端口转发到容器的22端口,那使用ssh进行clone时,宿主机地址是192.168.1.128,因为没有指定端口,所以连接的端口是宿主机的22端口,但是我们的宿主机的22端口没有办法到容器的22端口!所以他会认为git用户是宿主机的,如果宿主机没有创建git用户,那么输入任何密码都是错的,哪怕密码对了,也可能因为未在宿主机安装gogs或者路径不存在而访问失败。

那是不是说我们在docker上部署的gogs不能使用ssh?其实是可以的,你可以将宿主的22端口转发到容器的22端口(不建议)。另外一个做法,可以使用另外一种类似http请求的格式ssh://user@host:port/path,

例如本仓库:ssh://git@192.168.1.128:10022/gogs/BGserver.git

不过这里还是会失败了,因为没有配置ssh秘钥

在这里插入图片描述
配置ssh密钥:

在本地git上配置用户名和邮箱

git config --global user.name ''
git config --global user.email ''

然后执行: ssh-keygen -t rsa -C "邮箱地址",然后一直回车,在提交拉取代码时候就不用输入密码了

如果想要在提交拉取代码时候使用密码,可以在他提示输入密码的时候添加密码,长度大于4

完成后找到上文中提示到的保存地址里面的id_rsa.pub文件,打开并复制里面的内容

密钥名称随便写,内容粘贴刚刚复制的内容,然后点增加,就可以拉取代码了
在这里插入图片描述

拉取地址:ssh://git@192.168.1.128:10022/gogs/BGserver.git

ssh拉取代码时候,gogs上复制下来的git@192.168.1.128/gogs/BGserver.git是这种,但是你需要的可

能是ssh://git@192.168.1.128:10022/gogs/BGserver.git

可以把/home/gogs/gogs/conf/app.ini文件里面的22端口改成之前映射的10022SSH_PORT = 10022,重启即可

为了安全考虑,对外的情况下,建议去掉gogs的注册按钮 。

修改配置文件/home/git/gogs/custom/conf 目录下的 app.ini文件

    DISABLE_REGISTRATION = false   ###  把此处的false改成 true,重启,搞定

安装nginx

拉取镜像:docker pull nginx

创建挂载目录
mkdir -p /home/nginx/conf /home/nginx/log /home/nginx/html

生成容器 docker run --name nginx -p 9001:80 -d nginx

将容器nginx.conf、conf.d、html文件复制到宿主机

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /home/nginx/

找到nginx对应的容器id docker ps -a

关闭该容器 docker stop nginx

删除正在运行的nginx容器docker rm -f nginx

启动容器并挂载目录

docker run -p 9002:80 --restart=always --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

访问地址:http://192.168.1.128:9002/
修改首页内容,最简单就是刚刚配置好的地址:/home/nginx/html/ 里面的index.html,然后重启

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

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

相关文章

最小二乘估计心得

基本思想 存在一组观察值 ( x i , y i ) (x_i, y_i) (xi​,yi​),其中 y i y_i yi​和 x i x_i xi​之间满足一定的线性关系,如 y a 0 f 0 ( x ) a 1 f 1 ( x ) . . . a m − 1 f m − 1 ( x ) y a_0 f_0(x) a_1 f_1(x) ... a_{m-1} f_{m-1}(x…

改进YOLOv5/YOLOv8:结合华为诺亚VanillaNet Block模块:深度学习中极简主义的力量

YOLOv5结合华为诺亚VanillaNet Block模块 介绍核心代码加入YOLOv5yaml文件:运行结果论文: VanillaNet: the Power of Minimalism in Deep Learning 代码: https://link.zhihu.com/?target=https%3A//github.com/huawei-noah/VanillaNet 介绍 基础模型的核心是 "更多…

Terra-Luna归零一年后:信任重建、加密未来路在何方?

本月既是Terra-Luna归零的一周年,也是FTX崩溃的第六个月,而这两个事件分别代表着2022年加密市场连环爆的开始与高潮,引发了加密行业15年历史上最可怕的生存危机。 尽管今年市场行情有所回暖,比特币开年至今涨幅70%,以太…

【办公类-19-04】办公中的思考——幼儿姓名笔画数统计(单字、全名字)

结果展示--笔画数统计 背景需求 中6班幼儿都能够书写学号(基本没有镜像了),于是我开始尝试让幼儿熟悉自己的“姓氏”,并书写姓氏(单字)。4位幼儿能够默写全名,3位幼儿可以默写名字中的某一个字…

3*5差值结构参照1分类迭代次数比较

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入有3个节点,训练集AB各由5张二值化的图片组成,让A中有6个1,B中全是1,排列组合A ,统计迭代次数并排序。共收集到了181个不同的迭代次数,其中有4个 A-B 迭…

创建web后端程序(servlet程序搭建)

目录 一、Servlet概述 二、创建servlet程序 1.创建类继承HttpServlet 2.重写HttpServlet类中 service、destroy、init方法 3.重新启动服务器 一、Servlet概述 Server Applet的简称,用Java编写的服务器端的程序。它运行在web服务器中,web服务器负责…

路径规划算法:基于回溯搜索优化的路径规划算法- 附代码

路径规划算法:基于回溯搜索优化的路径规划算法- 附代码 文章目录 路径规划算法:基于回溯搜索优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

Android逆向学习之Frida逆向与抓包实战学习笔记(持续更新中)

学习资料:《安卓Frida逆向与抓包实战》陈佳林/著 文章目录 基础环境第三章 Frida逆向入门之Java层hook3.1 frida基础3.1.3frida基础知识frida存在两种操作模式frida操作App的方式有两种 3.1.4Frida IDE配置 3.2 frida脚本入门3.2.1 frida脚本的概念3.2.2 Java层hook基础1.hook…

续---初识HTML!!!(结束篇)

续———初识HTML!!! 一、表单 1.表单的作用 关于表单的作用:表单最大的作用就是收集用户的信息,用户填写表单,点击提交数据给服务器。 2.如何画出表单? 在HTML中我们采用form标签来画一个…

2023 (ICPC) Jiangxi Provincial Contest -- Official Contest

A. Drill Wood to Make Fire 输出即可 #include<bits/stdc.h> #define int long long #define x first #define y second using namespace std; const int N1100; typedef pair<int,int>pii;int m,n; int a[N][N];void solve() {int s,v,n;cin>>n>>s&…

Kali-linux Arpspoof工具

Arpspoof是一个非常好的ARP欺骗的源代码程序。它的运行不会影响整个网络的通信&#xff0c;该工具通过替换传输中的数据从而达到对目标的欺骗。本节将介绍Arpspoof工具的 使用。 9.8.1 URL流量操纵攻击 URL流量操作非常类似于中间人攻击&#xff0c;通过目标主机将路由流量注…

腾讯T4大牛整理的SpringBoot文档,覆盖你认知中的所有操作

SpringBoot目前的使用已经很普遍了&#xff0c;实际的项目中&#xff0c;我们需要集成各种的插件支持&#xff0c;不仅如此&#xff0c;还有很多可能我们平时不知道&#xff0c;但是很方便的操作。pdf里面的东西还是比较全面的。 1、关于文档 2、获得帮助 3、第一 步 4、使…

【Docker】Docker最近这么火,它到底是什么

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…

RMP软件管理、YUM源、磁盘管理。

1、RPM软件管理 1> 通过rpm安装vsftpd软件。 去官网找到xsftpdx86的链接。 2> 查询vsftpd软件包的信息。 3> 卸载软件包vsftpd。 2、YUM软件管理 1> 挂载本地光盘&#xff0c;配置yum源为rhel.repo。 2> 通过yum来安装traceroute。 3> 使用yum查询ifconfig命…

详解如何使用LAMP架构搭建论坛

文章目录 1.LAMP概述2.编译安装Apache httpd服务1.关闭防火墙&#xff0c;将安装Apache所需软件包传到/opt目录下2.安装环境依赖包 3.配置软件模块4.编译及安装5.优化配置文件路径&#xff0c;并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别6.添加httpd系…

位图,布隆过滤器,哈希分割

文章目录 &#x1f680;位图&#x1f4a1;概念&#x1f4a1;接口操作 &#x1f680;布隆过滤器&#x1f4a1;思想&#x1f4a1;实现代码&#x1f4a1;实际应用 &#x1f680;哈希分割 &#x1f680;位图 学习位图前&#xff0c;我们先来看一道题 用哈希表存储每个整数&#…

github在线编程

github在线编程 文章目录 github在线编程两种区别演示项目 Ruoyi-VueGitHub Codespaces 演示github 访问项目使用 GitHubCodeSpace 打开该项目查看运行环境安装运行环境初始化myql数据安装 redis运行前端运行后端前后端运行成功测试安装相关插件 GitPod 演示 说明: 目前总结 gi…

路径规划算法:基于果蝇优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于果蝇优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于果蝇优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法果蝇…

聚类算法学习笔记(一)

聚类算法学习笔记&#xff08;一&#xff09; 方法Euclidean Cluster [ 1 ] ^{[1]} [1]SuperVoxel [ 1 ] ^{[1]} [1]Depth Cluster [ 1 ] ^{[1]} [1]SLR: Scan-line Run [ 1 ] ^{[1]} [1]Range Image-based [ 2 ] ^{[2]} [2] 实验对比其他概念Cluster ToleranceKD-Tree Referce…

95后阿里P7晒出工资单:狠补了这个,真香....

最近一哥们跟我聊天装逼&#xff0c;说他最近从阿里跳槽了&#xff0c;我问他跳出来拿了多少&#xff1f;哥们表示很得意&#xff0c;说跳槽到新公司一个月后发了工资&#xff0c;月入5万多&#xff0c;表示很满足&#xff01;这样的高薪资着实让人羡慕&#xff0c;我猜这是税后…