背景
參考了狂神老師的 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 網絡的時候再詳解

