Elasticsearch容器化部署

本文介绍了如何使用Docker和DockerCompose部署Elasticsearch8.11.3,包括通过网络连接、环境变量配置、集群设置、自定义配置文件和日志管理。指南详细步骤有助于用户快速上手和扩展Elasticsearch实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Elasticsearch标准软件基于Bitnami Elasticsearch 构建。当前版本为8.11.3

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取 配置文件地址: qingcloud-platform: 一站式、开箱即用、可扩展的组件化软件工厂!高效易用 低代码 组件化 软件开发设计器。助力中小微企业低成本快速实现数字化转型,提高开发人员工作效率。

qinghub自动安装部署配置库

简介

Elasticsearch是一个分布式、可扩展、实时的搜索与数据分析引擎。它不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。ES也是使用Java编写的,ES的底层依赖Lucene,它的内部使用Lucene做索引与搜索,它的目的是隐藏Lucene的复杂性,取而代之的提供一套简单一致的Restful API。

初始化一个新实例

使用Docker 容器网络,应用程序容器可以轻松访问容器内运行的 Elasticsearch 服务器。

连接到同一网络的容器可以使用容器名称作为主机名来相互通信。

使用命令行

第 1 步:创建网络

docker network create app-tier --driver bridge

第 2 步:启动 Elasticsearch 服务器实例

docker run 添加命令--network app-tier的参数, 将elasticsearch-server容器连接到网络app-tier。

docker run -d --name elasticsearch-server \
    --network app-tier \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/elasticsearch:latest
第 3 步:启动应用程序容器
docker run -d --name myapp \
    --network app-tier \
    YOUR_APPLICATION_IMAGE

重要

  1. 注意替换YOUR_APPLICATION_IMAGE_占位符
  2. 在容器中,使用主机名elasticsearch-server连接到 Elasticsearch 服务器

使用 Docker Compose 文件

如果未指定,Docker Compose 会自动设置一个新网络并将所有已部署的服务附加到该网络。但是我们将显式定义一个bridge名为app-t

### 使用Docker容器化部署Elasticsearch的最佳实践 #### 准备工作 为了确保顺利部署,建议先确认已正确安装并配置好Docker环境。如果在国内遇到拉取镜像速度慢的问题,可以通过设置镜像加速器来提高效率[^4]。 #### 拉取Elasticsearch镜像 执行命令`docker pull elasticsearch:7.10.1`以获取指定版本的Elasticsearch镜像文件[^3]。 ```bash docker pull elasticsearch:7.10.1 ``` #### 创建必要的主机目录结构 创建用于存储配置、日志以及插件的数据挂载点,并赋予适当权限以便于后续操作: ```bash mkdir -p /opt/docker/elasticsearch/{config,data,plugins} chmod -R 777 /opt/docker/elasticsearch/ ``` 编辑配置文件,在此路径下添加如下内容至`elasticsearch.yml`: ```yaml echo "http.host: 0.0.0.0" >> /opt/docker/elasticsearch/config/elasticsearch.yml ``` 上述命令使得Elasticsearch能够监听所有网络接口上的请求。 #### 启动Elasticsearch容器实例 通过定义好的参数启动一个新的Elasticsearch容器,同时映射端口和服务所需资源位置: ```bash docker run -d \ --name es-node \ -e "discovery.type=single-node" \ -v /opt/docker/elasticsearch/config:/usr/share/elasticsearch/config \ -v /opt/docker/elasticsearch/data:/usr/share/elasticsearch/data \ -v /opt/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -p 9200:9200 \ elasticsearch:7.10.1 ``` 这里特别注意的是设置了`discovery.type=single-node`环境变量,这适用于单机测试场景;对于生产环境中多节点集群则需调整相应发现机制。 当一切正常运行之后,应该可以在浏览器访问`localhost:9200`查看返回的信息验证是否成功启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值