Docker中部署elasticsearch

news2025/7/20 23:52:59

Docker中部署elasticsearch

  • 1.下载镜像
  • 2.查看镜像是否下载成功
  • 3.选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。
  • 4.进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容
  • 5.开始使用docker run启动容器,具体命令参考为
  • 6.可以使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。
  • 7.进入容器修改密码
  • 8.然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。
  • 9.此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器
  • 10.到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号
  • 11.修该密码

1.下载镜像

sudo docker pull elasticsearch:7.12.0

2.查看镜像是否下载成功

sudo docker images

在这里插入图片描述

3.选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。

mkdir /home/zx/es_docker
cd es_docker
mkdir logs config plugins data
chmod -R 777 es_docker

4.进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容

http.host: 0.0.0.0
 
# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1
 
#Password config
 
xpack.security.enabled: true   #这一步是开启x-pack插件

由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。

5.开始使用docker run启动容器,具体命令参考为

sudo docker run --privileged=true --name elasticsearch -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /home/zx/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/zx/es_docker/data:/usr/share/elasticsearch/data -v /home/zx/es_docker/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.12.0

#一下为解释,命令可直接负责上面
sudo docker run 
	--privileged=true #授予逻辑卷访问权
	--name elasticsearch 
	-p 9200:9200 #端口映射配置 
	-p 9300:9300 
	-e "discovery.type=single-node" #非集群模式
	-e ES_JAVA_OPTS="-Xms84m -Xmx512m" #内存大小
	-v /home/zx/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml #挂载逻辑卷,绑定elasticsearch的配置文件
	-v /home/zx/es_docker/data:/usr/share/elasticsearch/data #挂载逻辑卷,绑定elasticsearch的数据目录
	-v /home/zx/es_docker/plugins:/usr/share/elasticsearch/plugins #挂载逻辑卷,绑定elasticsearch的件目录
	-d elasticsearch:7.12.0

6.可以使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。

sudo docker ps -a

在这里插入图片描述

sudo docker logs elasticsearch

在这里插入图片描述

7.进入容器修改密码

sudo docker exec -it elasticsearch bash
cd /bin
elasticsearch-setup-passwords interactive     #此步为手动设置密码

#以下不是命令
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
 
Enter password for [elastic]:    #在这里设置密码,注意最少六位,下面也一样
Reenter password for [elastic]: 
Passwords do not match.
Try again.
Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

8.然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。

在这里插入图片描述

在这里插入图片描述

9.此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器

docker pull mobz/elasticsearch-head:5
sudo docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5

执行docker命令后,也可以使用docker ps -a来查看是否成功启动。不过更好的方式是和es服务链接上。
因此接下来首先需要修改es的config目录的配置文件elasticsearch.yml,在其后面增加两行语句:

http.cors.enabled: true   
http.cors.allow-origin: "*" 

#主要目的就是允许跨域请求。

#由于修改了配置文件,所以需要重启一下es的服务。直接运行如下语句:
docker restart elasticsearch

10.到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号

输入
http://124.221.63.96:9100/?auth_user=elastic&auth_password=密码
在这里插入图片描述

11.修该密码

curl -u elastic -H "Content-Type: application/json" -X POST "localhost:9200/_xpack/security/user/elastic/_password" --data '{"password":"新密码"}'

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

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

相关文章

windows下app爬虫环境搭建:python + fiddler + Appium + 夜神模拟器

夜神模拟器自行下载安装 1、安装java https://www.oracle.com/java/technologies/downloads/#jdk19-windows 配置环境变量 系统环境下 在Path下添加 验证安装情况 打开 cmd 命令行工具,输入 java -version,返回信息如图所示表示安装配置成功 …

11.18MyBatis 学习2

1 #和$的区别 #{}表示一个占位符号 通过#{}可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换,#{}可以有效防止 sql 注入。 #{}可以接收简单类型值或 pojo 属性值。可以自动对值添加 ’ ’ 单引号 ${}表示拼接 sql 串…

【附源码】Python计算机毕业设计天气预报查询管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

linux x64 下的redis安装

1.官网下载linux版本的安装包,官网地址:http://redis.io/download 2.新建目录 mkdir /usr/local/src/redis,并上传到该目录,解压 tar xzvf redis-7.0.5.tar.gz 3…执行make 对Redis解压后文件进行编译 在编译完成之后查看当前文…

MeterSphereV2.3版本Mac本地启动详细教程(含常见错误)

一、准备工作 因为代码是java语言写的,所以提前准备好java的环境JDK11 :https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.htmlmaven(3.6.2以上都行):https://archive.apache.org/dist/mave…

进程的虚拟地址空间

每个程序运行起来后,都拥有一个自己的虚拟地址空间(注意是虚拟的,不是实际存在的),这个虚拟地址空间的大小由计算机的硬件平台 关于虚拟的概念,当时IBM给出了一种说法很形象生动: 它存在&#x…

XSS-labs靶场实战(三)——第7-8关

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS-labs靶场实战第7-8关。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未…

PyQt5_股票策略校验工具_升级版

相对 PyQt5_股票策略校验工具 博文,图形展示方面增加多行图展示,原本只有K线图,升级版工具可以动态添加多行指标图 股票策略有效与否的确认,需要在不同股票,不同时间段,运行对比,确认在哪些条件…

图文轻松说透 K8S Pod 各种驱逐场景

图文轻松说透 K8S Pod 各种驱逐场景 Kubernetes Pod 被驱逐是什么意思? 它们被终止,通常是没有足够资源的结果。但是为什么会这样呢? 驱逐是指派给节点的Pod 被终止的过程。Kubernetes 中最常见的情况之一是Preemption,为了在资…

基于PHP+MySQL健身俱乐部系统的设计与实现

随着时代的发展和人们对生活的热爱,健身已经成为人们工作之余的一种热爱,相对应的各种健身俱乐部也如雨后春笋般出现,处于宣传的目的各类健身俱乐部网站也不断的出现,处于对健身俱乐部的宣传作用,我们通过PHP语言和MYSQL数据库开发了健身俱乐部系统 PHP:MySQL健身俱…

笔试强训第29天(有假币+求正数数组的最小不可组成和)

单选 A选项:当内存访问越界的时候,线程会收到信号,进而进行信号处理。调用信号处理函数。 B选项:ACM时间。 A:最后访问时间,文件被读取而更新的时间 C:状态修改时间,文件的属性或者权…

pymsql模块+事务+mysql 注入+数据库备份和恢复

import pymysqlconn pymysql.connect(host127.0.0.1, userroot, password123456, databasehomework) # cur conn.cursor(cursorpymysql.cursors.DictCursor)#查询返回字典 cur conn.cursor() # cursor游标,默认返回元组 try:cur.execute(select * from students…

前端加密与解密

插件加密 MD5加密(不可逆) MD5加密是不可逆的,相当于是插件加密,当然你也可以把他的方法抄过来自己实现。 MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,前端用的比较多。…

【毕业设计】深度学习手势识别检测系统 - python

文章目录1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估6 识别效果7 最后1 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长…

【ASE+python学习】批量实现将含有空位的结构进行氢饱和(实际就是在某个位置添加氢原子)

批量实现将含有空位的结构进行氢饱和任务大纲任务思路氢原子相对位置计算代码实现-单个结构加氢导入所需库/包计算氢原子坐标给结构加氢运行结果代码实现-批量结构加氢导入相关库/包遍历文件夹内所有结构,并逐次给结构加氢批量实现的逻辑与结果在搬砖过程中&#xf…

【教学类-15-01】20221115《学号(姓名)描字帖-A4横版-竖切》(中班)

效果展示 浅蓝色打印纸(灰色字体) 背景需求: 在中3班的Python学具实验中,发现至少有3位幼儿明确表示自己不会写学号,还有3位幼儿书写的学号是镜像字(两个数字位置互换、两个数字都左右镜像、2和5上下镜像等…

【树莓派不吃灰】命令篇⑤ ps -ef | grep xxx | grep -v grep | wc -l 命令

目录1. 简介2. grep -v grep 命令作用2.1 ps -ef | grep python32.2 grep -v grep❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-11-18 ❤️❤️ 本篇更新记录 2022-11-18 ❤️🎉 欢迎关注 🔎点赞 &am…

让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

背景 11 月 5 日,2022 杭州 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅 11% ,其他的各个独立计费项最高降幅达 37.5% 。 本次云栖大会上,阿里云智能总裁张建锋表示,以云为核心的新型…

动态分区算法(头歌实验)第1关:首次适应算法。第2关:最佳适应算法。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 第1关:首次适应算法 任务描述 假设初始状态下可用的内存空间为55MB,并有如下的请求序列: 作业1申请15MB 作业2申请30M…

Yolov5+图像分割+百度AI接口——车牌实时检测识别系统

Hallo,各位小伙伴大家好呀!这两天一直在肝项目,都是关于计算机视觉方面的,所以这两天一直也没有更新(真的不是我懒)!在这个过程中我对Yolov5有了更深刻的理解,在原有的Yolov5框架上增…