Elasticsearch:定制 Elasticsearch 镜像

这篇具有很好参考价值的文章主要介绍了Elasticsearch:定制 Elasticsearch 镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Elasticsearch:定制 Elasticsearch 镜像

在很多时候,我们希望定制我们的 Elasticsearch 镜像,比如,我们需要安装一些额外的插件,或者如果我们想要一个带有同义词文件和自定义配置的 Elasticsearch?或者我们需要一些相应的配置等。我们想在每次的 docker 部署中重复上面的步骤,那么我们该怎么做呢? 找到包含所有细节的片段可能会有点困难。 考虑到这一点,我决定为我们的 docker 容器发布一个更详细的自定义配置帖子。

要求

  • Docker 已经安装在我们的系统中
  • 登录Docker
  • Visual Studio 代码或你喜欢的一些编辑器来创建和编辑文件

创建 Dockerfile

  • 创建一个名为 Dockerfile 的新文件,不带扩展名,我们将在其中设置自定义 Elasticsearch 安装所需的所有步骤。
  • 决定我们要使用的版本。 例如,我们将使用 8.7.0。
  • 第一行将是:
From docker.elastic.co/elasticsearch/elasticsearch:8.7.0 as elasticsearch
  • 添加同义词文件 —— synonyms_path 应该是主机中包含同义词文件的文件夹在我们拥有 Dockerfile 的同一文件夹中的路径:
ADD ./{synonyms_path}/ /usr/share/elasticsearch/config/
VOLUME ["/usr/share/elasticsearch/config/"]
  • 添加配置 —— config_path 应该是主机中包含配置文件的文件夹在我们拥有 Dockerfile 的同一文件夹中的路径:
ADD ./{config_path}/ /usr/share/elasticsearch/config/
VOLUME ["/usr/share/elasticsearch/config/"]
  • 添加插件 —— plugins_path 应该是主机中包含插件的文件夹在我们拥有 Dockerfile 的同一文件夹中的路径:
ADD ./{plugins_path}/ /usr/share/elasticsearch/plugins/
VOLUME ["/usr/share/elasticsearch/plugins/"]

注意:所有插件都应该为我们使用的相同版本的 Elasticsearch 构建:8.7.0

  • 公开 Elasticsearch 端口:
EXPOSE 9200

你应该有一个像这样的 Dockerfile:

Dockerfile

From docker.elastic.co/elasticsearch/elasticsearch:8.7.0 as elasticsearch

ADD ./{synonyms_path}/ /usr/share/elasticsearch/config/
VOLUME ["/usr/share/elasticsearch/config/"]

ADD ./{config_path}/ /usr/share/elasticsearch/config/
VOLUME ["/usr/share/elasticsearch/config/"]

ADD ./{plugins_path}/ /usr/share/elasticsearch/plugins/
VOLUME ["/usr/share/elasticsearch/plugins/"]

EXPOSE 9200

我们有两个选择:创建一个 docker compose 文件或运行以下命令来构建镜像:

docker build . -f Dockerfile -t elasticsearch

使用下面的命令来启动容器:

docker run -p 9200:9200 elasticsearch

如果我们更喜欢使用 docker compose,我们需要在 Dockerfile 的同一文件夹中创建一个名为 docker-compose.yaml 的新文件,其中包含以下文本:

docker-compse.yaml

version: "3.4"
networks:
    internal-network:
        driver: bridge
services:
  elasticsearch:
    image: elasticsearch
    container_name: elasticsearch
    networks:
        - internal-network
    build:
      context: .
      dockerfile: Dockerfile
      target: elasticsearch
    ports:
        - 9200:9200
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"

要启动容器,我们在包含 docker-compose 文件的文件夹中运行以下命令:

docker compose up

我们现在在我们计算机的容器中运行了 Elasticsearch!

我们甚至可以使用 docker save 命令来把这个 image 保存下来,并到其他的电脑上使用 docker load 来进行安装。文章来源地址https://www.toymoban.com/news/detail-444192.html

到了这里,关于Elasticsearch:定制 Elasticsearch 镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包