一、搜索ElasticSearch镜像
docker search elasticsearch
二、拉取镜像
docker pull elasticsearch
三、查看镜像
docker images
四、创建挂载的目录
mkdir -p /usr/local/docker_local/elasticsearch/config
mkdir -p /usr/local/docker_local/elasticsearch/data
echo "http.host: 0.0.0.0" >> /usr/local/docker_local/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /usr/local/docker_local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/docker_local/elasticsearch/data:/usr/share/elasticsearch/data -v /usr/local/docker_local/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.7.0
其中elasticsearch.yml是挂载的配置文件,data是挂载的数据,plugins是es的插件,如ik,而数据挂载需要权限,需要设置data文件的权限为可读可写,需要下边的指令。
chmod -R 777 要修改的路径
-e "discovery.type=single-node" 设置为单节点
特别注意:
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES
五、docker 运行elasticsearch闪退
elasticsearch挂载宿主机报 java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
docker ps -a 发现es实例启动的同时立马退出了
报错了java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes,看到这个错误的时候以为是容器中的/usr/share/elasticsearch/data/nodes目录权限不够,然后就开始各种授权,但是不行,折腾了半天时间,最后发现真正的原因是宿主机上的/mydata/elasticsearch/data/nodes,将其删除 ;将其删除;将其删除;
下面是补充概念:
六、Elasticsearch
主要关键字:
- Node(节点):单个的装有Elasticsearch服务并且提供故障转移和扩展的服务器。
- Cluster(集群):一个集群就是由一个或多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群。
- Document(文档):一个文档是一个可被索引的基础信息单元。
- Index(索引):索引就是一个拥有几分相似特征的文档的集合。
- Type(类型):一个索引中,你可以定义一种或多种类型。
- Field(列):Field是Elasticsearch的最小单位,相当于数据的某一列。
- Shards(分片):Elasticsearch将索引分成若干份,每个部分就是一个shard。
- Replicas(复制):Replicas是索引一份或多份拷贝。
七、RESTFul及CURL
RESTFul:中文意思是:表现层状态转化;(备注:表现层:资源(url)具体在浏览器上的呈现;状态转化是通过后端通过GET\POST\PUT\DELETE的方式对表现层进行操作);
curl命令参数很多;这里简单说一部分;(在浏览器上的绝大多数操作都可以使用curl进行访问)
访问一个网页:curl www.baidu.com
显示http请求的response的head信息:curl-i www.baidu.com
显示一次http请求的通信过程:curl-v www.baidu.com curl --trace output.txt www.baidu.com
curl执行GET/POST/PUT/DELETE操作:curl-X GET/POST/PUT/DELETE www.example.com