在很多时候,我们希望定制我们的 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!文章来源:https://www.toymoban.com/news/detail-444192.html
我们甚至可以使用 docker save 命令来把这个 image 保存下来,并到其他的电脑上使用 docker load 来进行安装。文章来源地址https://www.toymoban.com/news/detail-444192.html
到了这里,关于Elasticsearch:定制 Elasticsearch 镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!