Docker常用命令大全
Docker常用命令大全
Docker 上安装 ElasticSearch 7.14.0 的步骤:
选择要安装的ElasticSearch 版本
Docker ElasticSearch 官方仓库
1、拉取 ElasticSearch 镜像
我这边选择的版本是 7.14.0
,这个版本比较安全可靠,在终端中执行以下命令以拉取 docker pull elasticsearch:7.14.0
docker pull elasticsearch:7.14.0
2、创建并运行容器
使用以下命令创建一个新的 rabbitmq容器并将其启动:
docker run --name some-elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.14.0
--name
是 容器别名
将 宿主机 9200
端口映射到 容器内9200
and 端口9300
端口映射到 容器内9300
端口,访问宿主机端口的时候会映射到对应容器端口-e
表示额外参数"discovery.type=single-node"
表示 指定 Elasticsearch 节点在单节点模式下运行,即启动一个独立的 Elasticsearch 实例而不是一个多节点集群
表示 -d
表示后台运行。
关闭容器
docker stop some-elasticsearch
启动容器
docker start some-elasticsearch
重启容器
docker restart some-elasticsearch
3、elasticsearch常用端口以及作用
-
9200
端口:是用于Elasticsearch节点之间的内部通信和数据传输的端口,也称为传输层端口。 -
9300
端口:用于HTTP REST API与Elasticsearch进行通信和操作的端口。
4、测试,是否启动成功
使用浏览器打开 http://127.0.0.1:9200
http://127.0.0.1:9200
5、安装ElastIcSearch 可视化管理界面(elasticsearch-head)
1、拉取es-head镜像
docker pull mobz/elasticsearch-head:5
2、启动 es-head
docker run --name some-es-head -p 9100:9100 -d mobz/elasticsearch-head:5
9100
表示 es-head访问端口,开启主机与容器端口映射
3、访问 es-head
容器启动之后使用浏览器访问 http://127.0.0.1:9100
http://127.0.0.1:9100
在链接地址处填写 ES 服务的地址即可
如果连接 Elastic Search出现跨域异常,需要配置 Elasticsearch允许跨域请求
Docker ElastIcSearch容器配置文件路径
进入容器
docker exec -it some-elasticsearch bash
找到配置文件路径
cd /usr/share/elasticsearch/config
打开 elasticsearch.yml
文件 加上以下配置支持跨域请求
http.cors.enabled: true
http.cors.allow-origin: "*"
重启容器 在使用 es-head重新连接ElasticSearch
docker restart some-elasticsearch
6、Elasticsearch 关键字概念
在Elasticsearch
中,索引、文档和数据之间有如下关系:
-
索引(Index):索引是Elasticsearch中数据的逻辑容器或命名空间。它类似于传统数据库中的表。一个索引可以包含多个文档,并且每个文档都属于特定的索引。你可以将索引视为对特定类型数据的分组或组织。
-
文档(Document):文档是存储在Elasticsearch中的最小数据单元。它类似于传统数据库中的一行数据或一个文档对象。每个文档由一个唯一的ID标识符进行标识,并且以JSON格式表示。一个索引可以包含多个文档,而每个文档都有自己的字段和对应的值。
-
数据(Data):数据是指存储在Elasticsearch索引中的实际信息。当你创建一个文档并将其添加到索引时,该文档的内容即为数据。数据可以是结构化的、半结构化的或非结构化的,因为
Elasticsearch
不强制要求预定义的模式或固定的字段。每个文档都可以具有不同的数据,并且可以根据需要进行灵活地更改。
Elasticsearch
使用索引来组织和存储数据。索引包含多个文档,而每个文档则表示实际的数据。通过在索引下创建、更新、删除文档,你可以操作和管理Elasticsearch中的数据。
7、http接口测试
Elasticsearch
是面向文档数据库,对比关系型数据库,索引就等同于数据库
使用api获取所有索引
使用 postman
GET 请求 http://127.0.0.1:9200/_cat/indices?v
这里请求路径中的_cat
表示查看的意思, indices
表示索引,所以整体含义就是查看当前ES服务器中的所有索引,类似于MySQL中的show tables
7.1、创建 索引(book)
使用 postman
PUT 请求 http://127.0.0.1:9200/book
就是创建 book
索引
如果已经存在 boos
索引,会返回异常json信息
7.2、在 book索引下创建文档数据
使用 postman
POST 请求 127.0.0.1:9200/book/test
JSON 数据体
{
"bookName": "我不是药神",
"pirce": 13.5
}
执行上面操作(如果 book索引不存在,会自动创建索引),在 book
索引 创建 了 类型为 test
的文档,同时添加一条数据保存在test
文档中,es返回了当前添加数据的 _id
字段,这个就是这行数据的ID, GET请求 127.0.0.1:9400/book/test/QOTZSIkByoOrU54Z-n6m
就是查询这条数据
这里注意 一个索引下只能有一个文档类型, 相当于 数据库 下只能有一个表
如果我在执行127.0.0.1:9200/book/test2
是会返回异常
7.3 根据ID查询文档数据
使用 postman
GET 请求 127.0.0.1:9200/book/test/QOTZSIkByoOrU54Z-n6m
就是查询 _id
为 QOTZSIkByoOrU54Z-n6m
的数据(不能携带 Body JSON数据),类似于MySQL中数据的主键查询
这个_id
是 添加数据ES自动生成的
7.4、修改文档
使用 postman
POST 请求 127.0.0.1:9200/book/test/QOTZSIkByoOrU54Z-n6m
就是修改 _id
为 QOTZSIkByoOrU54Z-n6m
的数据
再次查询, 数据成功修改
7.5、删除文档
使用 postman
DELETE 请求 127.0.0.1:9200/book/test/QOTZSIkByoOrU54Z-n6m
就是删除 _id
为 QOTZSIkByoOrU54Z-n6m
的数据, 不能携带 body JSON数据
7.6、根据条件查询文档
使用 postman
GET 请求 127.0.0.1:9200/book/test/_search
是查询该索引下所有的数据
url不加 test
请求 127.0.0.1:9200/book/_search
也可以查询,因为 ES索引下只有一个文档类型
这样查询只能够查询 10条, 加入json 查询 size 参数返回更多数据
查询 bookName
等于 我不是药神
的数据
{
"query": {
"bool": {
"must": {
"match": {
"bookName": "我不药神"
}
}
}
},
"size": 100
}
文章来源:https://www.toymoban.com/news/detail-545835.html
更多ES API接口文档请参考官方文档 检索文档文章来源地址https://www.toymoban.com/news/detail-545835.html
到了这里,关于Docker安装ElasticSearch7.14.0 docker安装elasticsearch7.14.0完整详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!