背景
参考了狂神老师的 Docker 教程,非常棒!
https://www.bilibili.com/video/BV1og4y1q7M4?p=16
es 前言
- es 暴露的端口很多
- es 十分耗内存
- es 的数据一般需要放置到安全目录!挂载
- --net somenetwork ? 网络配置
下载并启动 es
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
如果你是在 1核2g 的机器上运行的话,你就会发现非常卡,因为 es 非常占内存
测试一下 es 是否成功了
curl localhost:9200·
查看容器的 CPU、内存
docker stats elasticsearch
看到内存占用率达到 60+%
测试成功,关掉 es
防止耗内存
docker stop elasticsearch
增加内存的限制
先删掉原来的 es
docker rm -f elasticsearch
新建一个 es 容器
-e:设置环境变量,Xms 最小内存 64M,Xmx 最大内存 512M
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
再次查看容器的内存占用率
docker stats elasticsearch
思考
- 在同一个 Linux 服务器上部署了一个 ES 容器,再部署一个 Kibana 容器
- Kibana 要从 ES 上拿数据,容器之间要如何通信?
- 后面讲到 docker 网络的时候再详解