mac下docker 安装 ES的详细过程
一. 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 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镜像,本机创建文件夹,并将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"
}启动成功
到此这篇关于mac docker 安装 ES的文章就介绍到这了,更多相关docker 安装 ES内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Docker镜像拉取超时及优化网络配置的方法(failed to do request
在使用 Docker 构建和部署应用时,拉取镜像是一个关键的步骤,然而,在一些网络环境中,特别是企业内部网或受限网络环境中,可能会遇到 Docker 镜像拉取失败或超时的问题,这篇博客将详细探讨如何应对 Docker 镜像拉取超时的问题,需要的朋友可以参考下2024-11-11
Docker环境下的Apache NiFi安装实践及遇到问题解决方案
由于最近用到数据同步,故打算采用中间件工具来做数据同步,谁知第一步部署Apache NiFi环境就耽搁了好久,其中遇到一些问题,故记录下来部署成功记录,下面给大家详细介绍Docker环境下的Apache NiFi安装实践及遇到问题解决方案,感兴趣的朋友一起看看吧2025-05-05


最新评论