docker安装es
Es安装
拉取es
docker pull elasticsearch:6.6.1
启动
docker run -p 9200:9200 -p 9300:9300 --name es6.6 \
-e "discovery.type=gold-application" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
-d elasticsearch:6.6.1
进入容器
docker exec -it es6.6 /bin/bash
进入conf 修改配置文件yml
启动命令参数介绍
# -e "discovery.type=single-node" \ 单节点集群
# -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \ 制定运行参数,不然如果机器内存太小,启动后会非常卡顿
进入容器
docker exec -it es7.8 /bin/bash
查看容器文件权限不是修改下
[root@87e29ba6ef1e elasticsearch]# ll
total 588
-rw-r--r-- 1 elasticsearch root 13675 Jun 14 19:34 LICENSE.txt
-rw-r--r-- 1 elasticsearch root 544318 Jun 14 19:37 NOTICE.txt
-rw-r--r-- 1 elasticsearch root 8165 Jun 14 19:34 README.asciidoc
drwxr-xr-x 2 elasticsearch root 4096 Jun 14 19:39 bin
drwxrwxr-x 1 elasticsearch root 4096 Jul 9 04:31 config #775权限
drwxrwxr-x 3 root root 4096 Jul 9 04:29 data #775权限
drwxr-xr-x 1 elasticsearch root 4096 Jun 14 19:38 jdk
drwxr-xr-x 3 elasticsearch root 4096 Jun 14 19:38 lib
drwxrwxr-x 1 elasticsearch root 4096 Jul 9 04:31 logs #775权限
drwxr-xr-x 47 elasticsearch root 4096 Jun 14 19:39 modules
drwxr-xr-x 2 root root 4096 Jul 9 04:17 plugins #775权限
挂载本地
创建目标文件夹
mkdir -p /root/elasticsearch/plugins;
mkdir -p /root/elasticsearch/data;
mkdir -p /root/elasticsearch/logs;
mkdir -p /root/elasticsearch/config;
# 做映射之前赋予文件夹相应权限,默认创建的文件夹权限就是755,所 以/dockerfile/elasticsearch/plugins不用改权限
chmod -R 775 /root/elasticsearch/data;
chmod -R 775 /root/elasticsearch/logs;
chmod -R 775 /root/elasticsearch/config;
# data和logs文件夹刚开始是空的,数据是启动时自己加进去的,所以可以做映射,
# plugins文件夹刚开始是没有安装插件的,也是空的,所以也可以做映射
# config文件夹是配置文件,不能用空目录做映射,否则启动直接退出,除非自己创建的文件夹中有相关配置文件
# 可以先进入容器,讲config文件夹拷贝出来,得到一份配置文件
docker cp es7.8:/usr/share/elasticsearch/config /root/elasticsearch;
重新启动
docker run -p 9200:9200 -p 9300:9300 --name es7.8 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
-v /root/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /root/elasticsearch/data:/usr/share/elasticsearch/data \
-v /root/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /root/elasticsearch/config:/usr/share/elasticsearch/config \
-d elasticsearch:7.8.0
然后访问9200查看状态
ES启动报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
1、启动容器 elasticsearch
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name m-es 6adeafaff184
2、查看容器运行情况,容器未启动成功
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa9d265fd652 6adeafaff184 "/bin/tini -- /usr..." 14 minutes ago Exited (78) 13 minutes ago m-es
3、查看容器启动日志
[root@localhost ~]# docker logs m-es
报错提示:
1)max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
2)the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
4、解决方案
1) 修改参数 vm.max_map_count
[root@localhost ~]# sysctl -a|grep vm.max_map_count
vm.max_map_count = 65530
[root@localhost ~]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
[root@localhost ~]# sysctl -a|grep vm.max_map_count
vm.max_map_count = 262144
2)如果重启虚拟机 1)失效则在 /etc/sysctl.conf文件最后添加一行(永久修改)
vm.max_map_count=262144
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix