阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Docker创建Elasticsearch服务

153次阅读
没有评论

共计 2270 个字符,预计需要花费 6 分钟才能阅读完成。

一、Docker 是什么?
Docker 是一个开源工具,能将一个 WEB 应用封装在一个轻量级,便携且独立的容器里,然后可以运行在几乎任何服务环境下。
Docker 的容器能使应用跑在任何服务器上并且表现一致。一个开发者在笔记本上建立的一个容器,能跑在很多环境下,如:测试环境,生产环境,虚拟机上,VPS,OpenStack 集群,公用的电脑等等
Docker 的一般使用在以下几点:

  •  自动化打包和部署应用
  •  创造一个轻量级的,私人的 PAAS 环境
  •  自动化测试和连续的 整合 / 部署
  •  部署 WEB 应用,数据库和后端服务

所以,Docker 是一个系统级兼容的容器,它采用 Linux Container 技术构建一个虚拟环境,用户可以在这个环境下安装各种应用来提供服务,并且这个环境可以随时创建或销毁,不会影响宿主环境。

二、Elasticsearch 是什么?
Elasticsearch 也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。

不过,Elasticsearch 不仅仅是 Lucene 和全文搜索,我们还能这样去描述它:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据

总之,ES 是一个牛逼的搜索存储引擎。

三、创建 Docker 镜像
Elasticsearch 官方在 Docker Hub 上已经有提供镜像,如果没有额外需求,执行下面这个命令就可以直接使用 Elasticsearch 官方提供的镜像:

docker run -d -p 9200:9200 –name=”es” elasticsearch:2.3.5

要额外装一个 Elasticsearch 的 head 插件,方便调试,做了一个镜像,Dockerfile

FROM elasticsearch:2.3.5
 
RUN /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
 
EXPOSE 9200

进入 Dockerfile 所在的文件夹,执行以下命令:

docker build –tag=es_ezio:2.3.5 .

然后执行 docker images 就能看到刚才创建的镜像了

# docker images
REPOSITORY                  TAG                IMAGE ID            CREATED            SIZE
es_ezio                    2.3.5              d66c3f2ed24f        About an hour ago  348.8 MB
docker.io/elasticsearch    2.3.5              1c3e7681c53c        17 months ago      346.4 MB

四、启动容器及服务
上一步我们只是制作了一个 Docker 镜像,还没有创建 Docker 容器。关于 Docker 中镜像和容器的关系,可以类比为操作系统中的程序和进程,或者面向对象语言中的 Class 和 Instance。我们必须从镜像创建出容器才能运行我们的服务(也就是 Elasticsearch 服务)。

第一次创建 Docker 容器,执行以下命令:

docker run -d -p 9200:9200 –name=”es_ezio” es_ezio:2.3.5

Elasticsearch 的默认端口是 9200,我们把宿主环境 9200 映射到 Docker 容器中的 9200 端口,这样我们就可以直接访问宿主环境的 9200 端口就可以访问到 Docker 容器中的 Elasticsearch 服务了,同时我们把这个容器命名为 es_ezio。

如果一切顺利,访问 http://127.0.0.1:9200/_plugin/head/

使用 Docker 创建 Elasticsearch 服务

这样,我们就完成了用 Docker 提供 Elasticsearch 服务,而不污染宿主机环境了,这样还有一个好处,如果想同时启动多个不同版本的 Elastcsearch 或者其他服务,Docker 也是一个理想的解决方案。

更多 Docker 相关教程见以下内容

Linux 下的 Docker 安装与使用  https://www.linuxidc.com/Linux/2018-06/152996.htm
CentOS 7 安装 Docker 应用容器引擎 https://www.linuxidc.com/Linux/2018-06/152856.htm
CentOS 7.3 环境安装 Docker 18.03 https://www.linuxidc.com/Linux/2018-05/152356.htm
使用 Docker 分分钟启动常用应用  https://www.linuxidc.com/Linux/2017-04/142649.htm
CentOS 7 使用 Docker 搭建 GitLab 服务器  https://www.linuxidc.com/Linux/2018-04/151725.htm
30 分钟带你了解 Docker  https://www.linuxidc.com/Linux/2018-08/153346.htm

Docker 容器常见操作详解  https://www.linuxidc.com/Linux/2018-08/153685.htm

Docker 发布应用程序指南 https://www.linuxidc.com/Linux/2018-08/153405.htm

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2270字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中