使用Docker创建Elasticsearch服务

栏目: 编程工具 · 发布时间: 5年前

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

一、 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 的下载地址 请点这里

Linux公社的RSS地址: https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-08/153742.htm


以上所述就是小编给大家介绍的《使用Docker创建Elasticsearch服务》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员面试笔试宝典

程序员面试笔试宝典

何昊、叶向阳、窦浩 / 2012-10 / 59.80元

《程序员面试笔试宝典》除了对传统的计算机相关知识(C/C++、数据结构与算法、操作系统、计算机网络与通信、软件工程、数据库、智力题、英语面试等)进行介绍外,还根据当前计算机技术的发展潮流,对面试笔试中常见的海量数据处理进行了详细的分析。同时,为了更具说服力,《程序员面试笔试宝典》特邀多位IT名企面试官现身说法,对面试过程中求职者存在的问题进行了深度剖析,同时《程序员面试笔试宝典》引入了一批来自于名......一起来看看 《程序员面试笔试宝典》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具