bash
复制代码
#es和kibana容器互联网络
docker network create es-net
docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1
mkdir -p /root/datas/docker/es/data
mkdir -p /root/datas/docker/es/logs
mkdir -p /root/datas/docker/es/plugins
sudo chmod -R 777 /root/datas/docker/es/data
sudo chmod -R 777 /root/datas/docker/es/logs
sudo chmod -R 777 /root/datas/docker/es/plugins
#单点es
docker run \
--name my-es \
-e "http.host=0.0.0.0" \
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
-e "discovery.type=single-node" \
-v /root/datas/docker/es/data:/usr/share/elasticsearch/data \
-v /root/datas/docker/es/logs:/usr/share/elasticsearch/logs \
-v /root/datas/docker/es/plugins:/usr/share/elasticsearch/plugins \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
-d elasticsearch:7.12.1
---------------------------------------------------
-e "cluster.name=my-es":设置集群名称
-e "http.host=0.0.0.0":监听的地址,可以外网访问
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g":内存大小
-e "discovery.type=single-node":非集群模式
-v /root/datas/docker/es/data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
-v /root/datas/docker/es/data:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
-v /root/datas/docker/es/data:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
--privileged:授予逻辑卷访问权
--network es-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置
#浏览器
http://192.168.31.161:9200
#kibana
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://my-es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
-----------------------------------------------
--network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-p 5601:5601:端口映射配置
#查看
docker logs -f kibana
#浏览器
http://192.168.31.161:5601