mac下docker 安裝 ES的詳細(xì)過程
一. docker 安裝 ES
1. 下載鏡像
docker pull elastcisearch:8.7.1
2. 啟動鏡像
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
后臺啟動–name
起別名即:NAMES-p 9200:9200
將端口映射出來- elasticsearch的9200端口是供外部訪問使用;
- 9300端口是供內(nèi)部訪問使用集群間通訊
-e "discovery.type=single-node"
單節(jié)點(diǎn)啟動-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 :分配一個偽終端
找到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)限訪問。
確保有以下幾個配置,原有的配置可以不改動
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
刪除臨時容器
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" }
啟動成功
到此這篇關(guān)于mac docker 安裝 ES的文章就介紹到這了,更多相關(guān)docker 安裝 ES內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手把手教你docker部署(使用docker-compose)教程
使用 Docker Compose 可以輕松、高效的管理容器,下面這篇文章主要給大家介紹了關(guān)于手把手教你docker部署(使用docker-compose)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01Docker Desktop啟動失敗的解決(Docker failed to i
本文主要介紹了Docker Desktop啟動失敗的解決(Docker failed to initialize Docker Desktop is shutting down),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03docker容器下配置jupyter notebook的操作
這篇文章主要介紹了docker容器下配置jupyter notebook的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Docker容器的網(wǎng)絡(luò)管理和網(wǎng)絡(luò)隔離的實現(xiàn)
這篇文章主要介紹了Docker容器的網(wǎng)絡(luò)管理和網(wǎng)絡(luò)隔離的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05