mac下docker 安裝 ES的詳細(xì)過程
一. docker 安裝 ES
1. 下載鏡像
docker pull elastcisearch:8.7.1

2. 啟動(dòng)鏡像
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:8.7.1
參數(shù)說明
-d后臺(tái)啟動(dòng)–name起別名即:NAMES-p 9200:9200將端口映射出來- elasticsearch的9200端口是供外部訪問使用;
- 9300端口是供內(nèi)部訪問使用集群間通訊
-e "discovery.type=single-node"單節(jié)點(diǎn)啟動(dòng)-e ES_JAVA_OPTS="-Xms256m -Xmx256m"限制內(nèi)存大小
3.訪問es
curl http://localhost:9200 curl: (52) Empty reply from server
4.進(jìn)入docker
docker exec -it 0a9bb3fa153d bash
docker exec在運(yùn)行的容器中執(zhí)行命令
- -i :即使沒有附加也保持STDIN 打開
- -t :分配一個(gè)偽終端
找到es配置文件位置
/usr/share/elasticsearch/config/elasticsearch.yml
將docker容器中的配置文件拷貝到本地文件
docker cp 0a9bb3fa153d:/usr/share/elasticsearch/config/elasticsearch.yml /usr/local/share/elasticsearch/elasticsearch.yml
將 xpack.security.enable: true 改為 xpack.security.enable: false
再將修改后的配置文件拷貝回docker中
docker cp /usr/local/share/elasticsearch/elasticsearch.yml 0a9bb3fa153d:/usr/share/elasticsearch/config/elasticsearch.yml
重啟docker
docker stop 0a9bb3fa153d
docker start 0a9bb3fa153d
curl localhost:9200
{
"name" : "0a9bb3fa153d",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "8hyCPOJESfKParQcDmGgtw",
"version" : {
"number" : "8.7.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "f229ed3f893a515d590d0f39b05f68913e2d9b53",
"build_date" : "2023-04-27T04:33:42.127815583Z",
"build_snapshot" : false,
"lucene_version" : "9.5.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}5. 決定將重新建立docker鏡像,本機(jī)創(chuàng)建文件夾,并將docker容器中的配置文件等信息拷貝出來,重新起容器并掛載外部文件夾
mkdir -p /Users/chenpeng/share/elasticsearch/{config,data,logs,plugins}
docker cp 0a9bb3fa153d:/usr/share/elasticsearch/config /Users/chenpeng/share/elasticsearch
docker cp 0a9bb3fa153d:/usr/share/elasticsearch/logs /Users/chenpeng/share/elasticsearch
docker cp 0a9bb3fa153d:/usr/share/elasticsearch/data /Users/chenpeng/share/elasticsearch
docker cp 0a9bb3fa153d:/usr/share/elasticsearch/plugins /Users/chenpeng/share/elasticsearch注意mac系統(tǒng)不要把文件夾放在系統(tǒng)文件夾中,容易沒有權(quán)限。我之前放在宿主的/usr/share/elasticsearch目錄下,不管如何更改權(quán)限,docker容器都沒有權(quán)限訪問。
確保有以下幾個(gè)配置,原有的配置可以不改動(dòng)
cluster.name: "docker-cluster" network.hosts:0.0.0.0 # 跨域 http.cors.allow-origin: "*" http.cors.enabled: true http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
刪除臨時(shí)容器
docker stop 0a9bb3fa153d docker rm 0a9bb3fa153d
重新起容器并掛起文件夾
docker run -d --name elasticsearch \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -e TAKE_FILE_OWNERSHIP=true \ -v /Users/chenpeng/share/elasticsearch/logs:/usr/share/elasticsearch/logs \ -v /Users/chenpeng/share/elasticsearch/data:/usr/share/elasticsearch/data \ -v /Users/chenpeng/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /Users/chenpeng/share/elasticsearch/config:/usr/share/elasticsearch/config \ elasticsearch:8.7.1
訪問curl localhost:9200
curl localhost:9200
{
"name" : "61c83e2b4f2b",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "Wp0M92PxQYyYbJVL_2IKmA",
"version" : {
"number" : "8.7.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "f229ed3f893a515d590d0f39b05f68913e2d9b53",
"build_date" : "2023-04-27T04:33:42.127815583Z",
"build_snapshot" : false,
"lucene_version" : "9.5.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}啟動(dòng)成功
到此這篇關(guān)于mac docker 安裝 ES的文章就介紹到這了,更多相關(guān)docker 安裝 ES內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker安裝單機(jī)版kafka并使用的詳細(xì)步驟
這篇文章主要為大家詳細(xì)介紹了docker安裝單機(jī)版kafka并使用的詳細(xì)步驟,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-06-06
Docker?Compose構(gòu)建Jenkins的實(shí)現(xiàn)
本文主要介紹了Docker?Compose構(gòu)建Jenkins的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
解決Docker鏡像拉取超時(shí)及優(yōu)化網(wǎng)絡(luò)配置的方法(failed to do request
在使用 Docker 構(gòu)建和部署應(yīng)用時(shí),拉取鏡像是一個(gè)關(guān)鍵的步驟,然而,在一些網(wǎng)絡(luò)環(huán)境中,特別是企業(yè)內(nèi)部網(wǎng)或受限網(wǎng)絡(luò)環(huán)境中,可能會(huì)遇到 Docker 鏡像拉取失敗或超時(shí)的問題,這篇博客將詳細(xì)探討如何應(yīng)對(duì) Docker 鏡像拉取超時(shí)的問題,需要的朋友可以參考下2024-11-11
Docker 容器全生命周期管理與運(yùn)維命令實(shí)戰(zhàn)演練
本文將深入剖析 Docker 容器管理的二十余條核心命令,結(jié)合實(shí)際操作案例與執(zhí)行結(jié)果,詳細(xì)解讀從容器創(chuàng)建、運(yùn)行、調(diào)試到銷毀的全過程,感興趣的朋友跟隨小編一起看看吧2025-12-12
基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程
這篇博客整理了如何在Docker環(huán)境下配置MySQL主從復(fù)制,通過創(chuàng)建和命名兩個(gè)MySQL容器,設(shè)置獨(dú)立IP,并詳細(xì)說明了在宿主機(jī)上持久化數(shù)據(jù)、開啟root遠(yuǎn)程訪問及添加復(fù)制用戶的過程,需要的朋友可以參考下2024-10-10
Docker環(huán)境下的Apache NiFi安裝實(shí)踐及遇到問題解決方案
由于最近用到數(shù)據(jù)同步,故打算采用中間件工具來做數(shù)據(jù)同步,誰(shuí)知第一步部署Apache NiFi環(huán)境就耽擱了好久,其中遇到一些問題,故記錄下來部署成功記錄,下面給大家詳細(xì)介紹Docker環(huán)境下的Apache NiFi安裝實(shí)踐及遇到問題解決方案,感興趣的朋友一起看看吧2025-05-05
卸載docker-compose實(shí)現(xiàn)過程
本文詳細(xì)描述了如何通過命令行卸載Docker Compose,包括檢查已安裝的包名、使用`yum remove`卸載、清理殘留文件、驗(yàn)證卸載結(jié)果以及注意事項(xiàng)2025-12-12

