docker安装elasticsearch

本文详细介绍如何在线或离线安装ElasticSearch搜索服务器,包括镜像搜索、下载、运行及配置验证,适用于希望增强其网站或应用搜索功能的开发者。

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

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。只看数据库的查找不仅极耗资源,而且速度不快。elasticsearch是一个不错的选择,不仅快,还具有实时性。

下面讲解安装步骤,分两种,一种是在线下载,另一种是离线本地下载。

在线下载

  • 搜索可用的镜像
bd@pyvip:~$docker search elasticsearch
NAME                                  DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
elasticsearch                         Elasticsearch is a powerful open source sear…   3591                [OK]                
nshou/elasticsearch-kibana            Elasticsearch-6.5.4 Kibana-6.5.4                97                                      [OK]
itzg/elasticsearch                    Provides an easily configurable Elasticsearc…   67                                      [OK]
elastichq/elasticsearch-hq            Official Docker image for ElasticHQ: Elastic…   28                                      [OK]
lmenezes/elasticsearch-kopf           elasticsearch kopf                              18                                      [OK]
bitnami/elasticsearch                 Bitnami Docker Image for Elasticsearch          16                                      [OK]
elastic/elasticsearch                 The Elasticsearch Docker image maintained by…   15                                      
taskrabbit/elasticsearch-dump         Import and export tools for elasticsearch       15                                      [OK]
esystemstech/elasticsearch            Debian based Elasticsearch packing for Lifer…   14                                      
monsantoco/elasticsearch              ElasticSearch Docker image                      11                                      [OK]
mesoscloud/elasticsearch              [UNMAINTAINED] Elasticsearch                    9                                       [OK]
justwatch/elasticsearch_exporter      Elasticsearch stats exporter for Prometheus     8                                       
blacktop/elasticsearch                Alpine Linux based Elasticsearch Docker Image   8                                       [OK]
s12v/newrelic-elasticsearch           New Relic plugin for elasticsearch monitorin…   5                                       [OK]
centerforopenscience/elasticsearch    Elasticsearch                                   4                                       [OK]
  • 下载镜像

docker pull elasticsearch:2.4.4

bd@pyvip:~$docker pull elasticsearch:2.4.4
2.4.4: Pulling from library/elasticsearch
cd0a524342ef: Pull complete 
e39c3ffe4133: Pull complete 
aac3320edf40: Pull complete 
4d9e109682f7: Pull complete 
0a59efcf9553: Pull complete 
43a404e523e0: Pull complete 
806f07b1dce8: Pull complete 
97180523aa1a: Pull complete 
aa1f5d9e6a71: Pull complete 
edcadfd7f7d5: Pull complete 
b06ed8306e19: Pull complete 
f8477c7d1d2b: Pull complete 
63b2dda3e739: Pull complete 
40ce66d99c3d: Pull complete 
Digest: sha256:3e8c3eca8868a44184966fd5c247cb4a9c23924e53d4f25aa244ea1f9c895129
Status: Downloaded newer image for elasticsearch:2.4.4
  • 查看镜像,验证是否下载成功

docker images

bd@pyvip:~$docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
hello-world               latest              fce289e99eb9        3 months ago        1.84kB
delron/elasticsearch-ik   2.4.6-1.0           095b6487fb77        12 months ago       689MB
elasticsearch             2.4.4               2232dfa6321a        2 years ago         345MB
  • 运行镜像

docker run -d -p 9200:9200 -p 9300:9300 --name search elasticsearch:2.4.4 

  • 查看正在运行的容器,验证开启

docker ps

  • 再次验证是否安装成功

curl 127.0.0.1:9200

显示如下图:

{
  "name" : "David Cannon",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "wAssfOTuT-6UzYW4HQ0GqQ",
  "version" : {
    "number" : "2.4.6",
    "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd",
    "build_timestamp" : "2017-07-18T12:17:44Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.4"
  },
  "tagline" : "You Know, for Search"
}

离线下载

docker load -i elasticsearch-ik-2.4.6_docker.tar
  • 解压配置文件
unzip elasticsearch.zip
  • 打开配置文件elasticsearch/config/elasticsearch.yml ,查看以下两处地方是否已修改
# network.host: 172.18.168.123
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
http.port: 8002
  • 创建docker容器并运行
docker run -dti --network=host --name=elasticsearch -v /home/bd/elasticsearch/config:/usr/share/elasticsearch/config delron/elasticsearch-ik:2.4.6-1.0

这里的代码不要直接复制, -v /home/bd/elasticsearch/config表示我配置文件的路径,你的路径需要自己对应。

  • 查看是否创建成功

docker container ls -a 

  • 运行如下命令,如果有显示则elasticsearch配置成功

curl 127.0.0.1:8002

安装Head插件

  • 进入容器
docker exec -it c04e4bfa058e /bin/bash
  • 到/bin目录
cd bin
  • 执行plugin命令
plugin install mobz/elasticsearch-head
  • 到浏览器输入127.0.0.1:8002/_plugin/head/,结果如下:

### 使用Docker安装Elasticsearch的教程 #### 安装前准备 为了确保顺利安装,需确认已正确配置好Docker环境并能够正常运行容器服务[^2]。 #### 下载官方镜像 通过执行如下命令来获取指定版本(例如7.14.0)的Elasticsearch Docker镜像: ```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 这一步骤会从Elastic官方仓库下载对应标签下的最新构建版本[^1]。 #### 启动Elasticsearch实例 创建一个新的网络以便后续可以方便地连接其他组件如Kibana等工具;接着启动单节点模式下的Elasticsearch容器。这里假设使用默认设置,并开放9200端口用于HTTP通信以及9300端口作为集群间通讯接口: ```bash docker network create esnet docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ --network=esnet \ -d docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 上述操作定义了一个名为`elasticsearch`的新容器,并将其加入到之前建立好的虚拟网桥中去[^3]。 #### 配置持久化存储 为了避免数据丢失,在实际生产环境中建议将重要目录映射至宿主机路径下保存。比如把配置文件夹复制出来便于修改参数设定: ```bash mkdir -p /mydata/es/config docker cp elasticsearch:/usr/share/elasticsearch/config/ /mydata/es/ ``` 之后可以在本地编辑这些文档后再送回给正在运行的服务进程加载应用新的更改项。 #### 测试访问 最后可以通过浏览器或其他RESTful客户端尝试请求http://localhost:9200/_cat/nodes?v验证是否成功部署完成。如果一切正常的话应该能看到有关当前节点的信息列表显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值