docker安装es
-
下载镜像
docker pull elasticsearch:7.13.0
-
启动容器
docker run --name es7.13 --restart unless-stopped --net es -p 9200:9200 -p 9300:9300 -v /apps/elasticsearch7.13/config:/usr/share/elasticsearch/config/ -v /apps/elasticsearch7.13/data:/usr/share/elasticsearch/data -v /apps/elasticsearch7.13/log:/usr/share/elasticsearch/logs/ -d elasticsearch:7.13.0 # 容器名字 --name # 容器重启策略 --restart # 局域网名字 --net # 端口映射 -p # 容器目录挂载 -v 一般为数据目录、配置目录和日志目录 # 以后台进程运行 -d
-
限定容器使用的资源
# 内存大小 -m 或 --memory # 交换分区大小 --memory-swap 不指定默认为 指定内存的两倍 # 限定工作线程数 --vm # 限定工作线程占用内存 --vm-bytes # 单位 M 或 G
-
检查容器
docker ps
-
查看容器输出日志
docker logs container_name -f # -f 是实时监控
-
修改es配置文件
network.host: 0.0.0.0 # 默认127.0.0.1,只能本机访问,设置为0.0.0.0则认为生产环境 cluster.initial_master_nodes: ["node-1"] # 集群初始主节点,生产环境必须配置
-
启动kibana
docker pull kibana:7.13.0 docker run -d --restart unless-stopped --name kibana7.13 --net es -p 5601:5601 -v /apps/kibana7.13/config:/usr/share/kibana/config kibana:7.13.0 # kibana相关的配置 # 设置为中文 i18n.locale: "zh-CN" # es实例集群地址 elasticsearch.hosts: ["http://172.18.0.2:9200"] # 绑定监听端口,0.0.0.0 为生产环境,允许所有远端请求 server.host: 0.0.0.0
-
浏览器访问
127.0.0.1:5601 # 主机IP地址加kibana默认端口
容器的重启策略
-
--restart # no 默认,不自动重启 # on-failure[:max-retries] 重启因错误停止的容器,max-retries限定最大尝试重启次数 # always 无限尝试重启退出的容器,除非手动停止容器 # unless-stopped 手动停止容器后,就算重启docker daemon,容器策略也不再生效
ES启动是出现的问题
-
查看容器日志
docker logs 容器名 -f # -f 为实时监控日志文件输出,类似tail -f命令
-
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# 编辑宿主机的/etc/sysctl.conf配置文件 sudo vim /etc/sysctl.conf # 在文件中添加这个一行 vm.max_map_count=262144 # 在运行时配置内核参数 sysctl -p # sysctl - configure kernel parameters at runtime # -p Load in sysctl settings from the file specified or /etc/sysctl.conf