使用docker安装Elasticsearch和kibana,版本均为7.12.1
docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1
1:查看docker网络
docker network ls
NETWORK ID NAME DRIVER SCOPE 5b15d96cf179 bridge bridge local 12bf219add93 host host local 66b6768156e6 none null local
2:给kibana 与 ES 创建一个网络
docker network create elastic
[root@cloud-linux ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
52f8e50a864d bridge bridge local
5534ad5d6eca host host local
d60aa65de36e none null local
# 创建一个docker网络
[root@cloud-linux ~]# docker network create elastic
6fc2499a6dd26591e1b61f1d20e3c9c61f4b64e3de77b7a832be0f68572ec279
[root@VM-8-11-centos ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
52f8e50a864d bridge bridge local
5534ad5d6eca host host local
d60aa65de36e none null local
6fc2499a6dd2 elastic bridge local
[root@cloud-linux ~]#
一、安装ES:
3: 临时启动ES:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -d elasticsearch:7.12.1
参数含义:
-d 后台启动
–name 起别名即:elasticsearch
-p 9200:9200 端口映射出来
elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯
-e “discovery.type=single-node" :单节点启动
-e ES_JAVA_OPTS=”-Xms64m -Xmx128m": 限制内存大小 Xms:表示 启动时分配堆内存大小。 Xmx:表示最大堆内存可用空间(根据自己的内存大小设置)
内存问题:
total:总内存数
userd: 已使用
free : 剩余数
可以看到已经启动:
4:做文件挂载方便后续修改配置等:将容器内文件拷贝出来
先创建文件:
mkdir -p /dockerdata/es/{config,data,logs,plugins} yml
复制操作:
docker cp elasticsearch:/usr/share/elasticsearch/config /dockerdata/es
docker cp elasticsearch:/usr/share/elasticsearch/logs /dockerdata/es
docker cp elasticsearch:/usr/share/elasticsearch/data /dockerdata/es
docker cp elasticsearch:/usr/share/elasticsearch/plugins /dockerdata/es
修改dockerdata/es/config 目录下的 elasticsearch.yml
cluster.name: "docker-cluster"
network.hosts:0.0.0.0
# 跨域
http.cors.allow-origin: "*"
http.cors.enabled: true
5: 停止容器并删除 (如果不能按命中删除,就找到 CONTAINER ID进行删除)
docker stop elasticsearch
docker rm elasticsearch
执行容器:
docker run -d --name es -e "ES_JAVA_OPTS=-Xms64m -Xmx128m" \
-e "discovery.type=single-node" \
-v /dockerdata/es/logs:/usr/share/elasticsearch/logs \
-v /dockerdata/es/data:/usr/share/elasticsearch/data \
-v /dockerdata/es/plugins:/usr/share/elasticsearch/plugins \
-v /dockerdata/es/config/elasticsearch.yml:/usr/share/elasticsearch/con
--privileged \
--network elastic \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
二、安装kibana:
1:临时启动kibana
docker run -d --name kibana -p 5601:5601 kibana:7.17.1
2:创建本地挂载文件
mkdir -p /dockerdata/kibana/config
docker cp kibana:/usr/share/kibana/config /dockerdata/kibana/config
vim /data/kibana/config/kibana.yml
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://localhost:9200" ] # 修改对外暴露的本机ip(服务器就是公网ip) monitoring.ui.container.elasticsearch.enabled: true i18n.locale: "zh-CN" #编码格式
3:停止删除容器
docker stop kibana
docker rm kibana
挂载启动:
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://ES的ip地址:9200 \-v /data/kibana/config:/usr/share/kibana/config
--network elastic \
-p 5601:5601 \
kibana:7.12.1
浏览器访问ip+端口号即可