mac docker 安装 ES

news/2024/10/26 15:22:26/

一. 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

参数说明

  • -d 后台启动
  • –name 起别名即:NAMES
  • -p 9200:9200 将端口映射出来
    elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯
  • -e "discovery.type=single-node"单节点启动
  • -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 限制内存大小

3.访问es

curl http://localhost:9200
curl: (52) Empty reply from server

4.进入docker

docker exec -it 0a9bb3fa153d bash

docker exec 在运行的容器中执行命令

  • -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 0a9bb3fa153dcurl 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镜像,本机创建文件夹,并将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系统不要把文件夹放在系统文件夹中,容易没有权限。我之前放在宿主的/usr/share/elasticsearch目录下,不管如何更改权限,docker容器都没有权限访问。

确保有以下几个配置,原有的配置可以不改动

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"
}

启动成功


http://www.ppmy.cn/news/349099.html

相关文章

python使用pymysql来操作MySQL

例子1 from pymysql import Connection# 构建到MySQL数据库的连接 conn Connection(host"localhost",port3306,user"root",password"123456",autocommitTrue # 设置自动提交 )print(conn.get_server_info())# 要执行SQL查询必须要先获得游标对象…

宏晶微MS2109高清视频采集芯片资料

MS2109是一款高清视频传采集晶片,内部集成USB2.0控制器和数据收发模块,HDMI RX模块和音视频处理模块。MS2109可以将HDMI接口输出的音视频信号通过USB接口传送到PC,智慧型手机或者平板电脑预览或者采集。USB视频符合UVC规范,音频符…

GSCOOLINK GSV2006替CH6002 HDMI2.0接口芯片

GSV2006是100%纯国产产品 GSV2006是 HDMI2.0/HDCP2.2 2x4 矩阵, 支持DownScaler, CSC 及音频分离和音频嵌入,支持ARC 及CEC 功能。 目标应用:HDMI2.0矩阵,分离器。 功能特征 1、2进4出 2、18 Gbps 3、灵活的HDCP 2.2/1.4支持 4、双路音频…

《嵌入式 – GD32开发实战指南》第21章 I2C

开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 21.1 I2C工作原理 21.1.1 I2C串行总线概述 I2C总线是PHLIPS公司推出的一种双线式半双工串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功…

展讯UIS8910FF

目录 1. 产品简介 1.1. 文档约定 2.功能特性 2.1. 特性列表 2.2. 系统框架 3.物理接口 3.1. 管脚分布 1. 产品简介 展讯UIS8910FF系列模组是基于紫光展锐 LTE平台方案开发的LTE CAT1/GSM系列无线通信产品,能够通过FDD-LTE、TDD-LTE 和GSM 实现数据连接&#…

GSCOOLINK基石 GSV2002替IT66321 HDMI2.0

GSV2002是100%纯国产产品 GSCOOLINK GSV2002 HDMI2.0芯片替代IT66321 GSV2002是HDMI2.0/HDCP2.2 2x2 矩阵,支持DownScaler, CSC 及音频分离和音频嵌入,支持ARC 及CEC 功能。 GSV2002目标应用:矩阵,分配器切换器,条形音响,AVR 等…

TIC2000系列处理器在线升级

_c_int00是CPU退出boot ROM 引导代码结束后,通过code_start段的跳转函数引用的库中的一个函数,这个函数是main函数的引用者,也是定义者。其位于rts2800_fpu32.lib中,要实现SBL,APP,kernel之间的顺利跳转,需要修改_c_in…

initramfs 最全解释与制作

先提几个问题: 0、什么是 initrd 和 initramfs? 概述 现代Linux系统都使用到了一种功能比较特殊的微型系统,作为Linux内核初始化完成但未进入最终系统时的过渡系统,主要的目的是为了将最终系统载入到根文件系统上,辅…