docker 安裝 es
要在Docker中安裝Elasticsearch,您可以使用Elasticsearch的官方Docker鏡像。以下是安裝和運行Elasticsearch的步驟:
拉取Elasticsearch的官方Docker鏡像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.0
運行Elasticsearch容器:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.1.0
這里,我們使用了docker run命令來啟動一個新的Docker容器蔼卡。我們給容器命名為elasticsearch玖院,并將Elasticsearch的默認HTTP端口9200映射到宿主機的同一端口,同時將Elasticsearch的內(nèi)部通信端口9300也映射出來擅耽。我們還設(shè)置環(huán)境變量"discovery.type=single-node",這對于單節(jié)點的Elasticsearch實例是必要的物遇。
運行docker命令乖仇,部署單點es:
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.1.0
命令解釋:
docker run -d:設(shè)置容器后臺運行
--name es:給es容器取的名字
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":設(shè)置堆內(nèi)存大小,這里是因為我的虛擬機內(nèi)存總共只有2G询兴,所以設(shè)置的比較小乃沙,你自己設(shè)置不要低于這個內(nèi)存大小,否則會出現(xiàn)內(nèi)存溢出的報錯
-e "discovery.type=single-node":設(shè)置的啟動模式為非集群模式
-v es-data:/usr/share/elasticsearch/data:掛載數(shù)據(jù)卷诗舰,綁定es的數(shù)據(jù)目錄
-v es-plugins:/usr/share/elasticsearch/plugins:掛載數(shù)據(jù)卷警儒,綁定es的插件目錄
--privileged:授予數(shù)據(jù)卷訪問權(quán)
--network es-net:加入一個名為es-net的網(wǎng)絡(luò)中,就是我們剛剛創(chuàng)建的眶根,如果你不是這個名字根據(jù)你的實際情況去修改
-p 9200:9200:端口映射蜀铲,9200暴露的是用戶訪問的http端口
-p 9300:9300:端口映射,9300暴露的是es各個節(jié)點互聯(lián)的端口属百,這個端口我們單點模式現(xiàn)在用不到记劝,你不暴露也沒問題
預(yù)覽
在瀏覽器中輸入:http://虛擬機IP:9200/ 即可看到elasticsearch的響應(yīng)結(jié)果:
請注意,Elasticsearch在生產(chǎn)環(huán)境中運行時需要更多的配置和考慮族扰,比如持久化數(shù)據(jù)厌丑、內(nèi)存分配、安全設(shè)置等渔呵。此外怒竿,Elasticsearch對宿主機的資源有一定要求,所以在資源充足的情況下再進行部署扩氢。