一、安装Elasticsearch
1、获取镜像
docker pull elasticsearch
2、创建本地的挂载路径和文件
mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data
3、配置文件
echo "http.host: 0.0.0.0" >> /usr/local/elasticsearch/config/elasticsearch.yml
4、启动 docker
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \ -v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \ -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:latest
5、查看启动情况
#查看启动进程 docker ps |grep 'elasticsearch'
#查看启动日志 docker logs elasticsearch
#重启 docker restart elasticsearch #进入 docker exec -it elasticsearch bash
6、客户端运行
二、安装Kibana
1、获取镜像
docker pull kibana:latest
2、创建本地的挂载路径和文件
mkdir -p mkdir -p /usr/local/kibana/config
3、配置文件
vi /usr/local/kibana/config/kibana.yml,内容如下:
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.name: kibana server.host: "0.0.0.0" elasticsearch.url: "http://172.17.0.4:9200" xpack.monitoring.ui.container.elasticsearch.enabled: true
此处注意两点:
- 7.14.0以前的使用的是 elasticsearch.url,7.14.0之后的使用 elasticsearch.hosts ,否则会报错
- es 也是使用 docker 安装的,所以此处要想使两个 docker 容器互通,需要使用内网ip进行访问,查看 es 的ip 可以使用:
docker inspect elasticsearch |grep "IPAddress"
4、启动容器
docker run -d \ --name=kibana \ --restart=always \ -p 5601:5601 \ -v /Users/www/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \ kibana:latest
当容器出现异常时,会需要停止或者删除容器,命令如下:
#停止容器,名字/容器id docker kill kibana #删除容器,名字/容器id docker rm -f kibana
5、查看启动日志
docker logs -f kibana
6、客户端运行