1. 创建网络
神一样的链接,不用谢:
1.Docker命令链接:黑马整理的docker速成链接
2.jdk11链接:jdk11
3.神资源链接:别点,要脸
注意:es需要先安装jdk环境,推荐jdk11,否则会启动不成功。
因为我们还需要部署kibana容器,因此需要让es和kibana容器互联,这里先创建一个网络。
docker network create es-net
2.加载镜像
选择合适的镜像,注意:es与kb的镜像版本必须一致
docker pull elasticsearch:7.17.2
docker pull kibana:7.17.2
3.利用镜像部署容器
部署es
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/local/elasticsearch7.17.2/data \
-v es-plugins:/usr/local/elasticsearch7.17.2/plugins \
-v es-logs:/usr/local/elasticsearch7.17.2/logs \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.17.2
# 命令解读
-e "cluster.name=es-docker-cluster":设置集群名称
-e "http.host=0.0.0.0":监听的地址,可以外网访问
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":分配内存大小
-e "discovery.type=single-node":单节点模式
-v es-data:/usr/local/elasticsearch7.12.1/data:挂载逻辑卷,绑定es的数据目录
-v es-logs:/usr/local/elasticsearch7.12.1/logs:挂载逻辑卷,绑定es的日志目录
-v es-plugins:/usr/local/elasticsearch7.12.1/plugins:挂载逻辑卷,绑定es的插件目录
--privileged:授予逻辑卷访问权
--network es-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置
在浏览器输入:localhost:9200
看到这样的结果即为成功
部署kibana
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.17.2
# 命令解释
--network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-p 5601:5601:端口映射配置,
命令解释:
--network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-p 5601:5601:端口映射配置
浏览器输入:localhost:5601
看到如下结果即为成功: