啓動es容器需要考慮幾個問題
- 端口暴露問題 9200、9300
- 數據卷的掛載問題 data、plugins、conf
- 喫內存 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
擴展命令
docker stats 容器id # 查看容器的cpu內存和網絡狀態
啓動es測試
(--net somenetwork ? 網絡配置)
9200作爲Http協議,主要用於外部通訊( ES節點 和 外部 通訊使用 )
9300作爲Tcp協議,jar之間就是通過tcp協議通訊( ES節點之間通訊使用 )
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
啓動之後很卡
使用 docker stats 容器id 查看下cpu狀態 ,發現佔用的很大
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba236371acd0 elasticsearch 0.32% 1.226GiB / 3.7GiB 33.12% 0B / 0B 0B / 0B 43
測試訪問
[root@xiaoyequ ~]# curl localhost:9200
{
"name" : "ba236371acd0",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "4BW_ZS-JQSu_HcuO8Vcpig",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
增加上內存限制啓動
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 查看下cpu狀態
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
179b21041d90 elasticsearch 0.72% 342MiB / 3.7GiB 9.02% 0B / 0B 0B / 0B 43
測試訪問
效果一樣,ok!