Docker 安装部署Elasticsearch 和 kibana
一、docker上安装部署es
(1)下载elasticsearch镜像,这里我使用的是7.4.0版本
docker pull elasticsearch:7.4.0
(2)创建docker容器挂载的目录
mkdir -p /opt/elasticsearch/config
mkdir -p /opt/elasticsearch/data
mkdir -p /opt/elasticsearch/plugins
(3)编写配置文件,该文件若不存在,下列写法会自动创建
echo "http.host: 0.0.0.0" >> /opt/elasticsearch/config/elasticsearch.yml
(4)创建容器并挂载
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.0
参数解释:
-p 端口映射
-e discovery.type=single-node 单点模式启动
-e ES_JAVA_OPTS="-Xms84m -Xmx512m":设置启动占用的内存范围
-v 目录挂载
-d 后台运行
(5)查看启动是否成功
docker ps 查看是否启动
docker logs elasticsearch 启动日志查询
docker restart elasticsearch 重启
docker exec -it elasticsearch bash 进入
(6)发现上述操作,es并没有启动成功,原因是挂载的es的目录没有权限,要给es的挂载目录授权
sudo chmod -R 777 /opt/elasticsearch/
(7)授权成功之后,重启es服务
docker restart elasticsearch 重启
(8)docker exec -it elasticsearch bash 进入es服务操作 - 该步骤可以不执行
(9)浏览器访问es服务
在浏览器地址栏输入:你的虚拟机ip地址:9200 即可访问
二、docker上安装部署kibana
(1)下载kibana镜像,这里我使用的是7.4.0版本
docker pull kibana:7.4.0
(2)创建kibana挂载目录
mkdir -p /opt/kibana/config
(3)编写配置文件kibana.yml,该文件可以在/opt/kibana/config/目录下创建
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://ip:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
注意:ip地址为docker的ip地址 - 访问es的IP地址
(4)为kibana挂载的目录授权
chmod -R 777 /opt/kibana
(5)启动kibana容器并挂载
docker run --name kibana \
-v /opt/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 \
-d kibana:7.4.0
(6)浏览器地址栏输入访问网址
你自己的docker容器IP地址:5601