1.拉取鏡像
docker pull elasticsearch:6.7.0
docker images //查看image id
2.啓動容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES_02 02982be5777d
-e:限制初始內存和最大內存(默認初始佔用2G內存空間);
-d:後臺運行;
-p:默認進行web通信使用9200端口,將虛擬機的9200映射到ES的9200;
-p:分佈式下各結點之間的通信使用9300端口;
–name:容器名
3.查看容器是否啓動並訪問頁面
docker ps
在瀏覽器訪問頁面
你的ip:9200
"You Know, for Search" 出現如圖的json數據即可說明啓動成功
4.容器已經啓動但是瀏覽器無數據的原因
(1)雲服務器
首先雲服務器需要你開啓9200,9300端口,確保端口已經開啓。
(2)查看docker日誌
docker logs ES_02(你的容器名)
發現有一堆的報錯信息
解決辦法:
一、運行:
[root@localhost ~]# sysctl -w vm.max_map_count=262144
二、進入容器,並修改config目錄下的兩個文件:
①jvm.options文件:將-Xms和-Xmx的值都改爲512m:
docker exec -it ES_02 /bin/bash
cd config
vi jvm.options
②elasticsearch.yml文件,增加或替換下面兩個配置:
vi config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: “*”
最後退出並重新啓動容器:
exit
docker restart ES_02
最終再訪問瀏覽器ip:9200