docker 运行 elasticsearch

一 创建运行的网络,用于es和kibana

docker network create es-net

二 拉取es镜像

docker pull elasticsearch:7.17.22

三 运行es容器

重点:容器名称默认elasticsearch ,因为kibana配置文件中默认是elasticsearch,如果要使用其他容器名称,安装kibana后需要修改对应的链接。

docker run -d \
	--name elasticsearch \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/share/elasticsearch/data \
    -v es-plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.17.22

参数说明

docker run -d: 这部分表示在后台运行容器。

–name es: 为容器指定一个名字,这里是 “es”。

-e “ES_JAVA_OPTS=-Xms512m -Xmx512m”: 设置 Java 虚拟机的参数,包括初始堆内存大小 (-Xms) 和最大堆内存大小 (-Xmx),这里都设置为 512MB。

-e “discovery.type=single-node”: 设置 Elasticsearch 的节点发现机制为单节点,因为在这个配置中只有一个 Elasticsearch 实例。

-v es-data:/usr/share/elasticsearch/data: 将容器内 Elasticsearch 的数据目录挂载到宿主机的名为 “es-data” 的卷上,以便数据持久化。

-v es-plugins:/usr/share/elasticsearch/plugins: 类似上面,将容器内 Elasticsearch 的插件目录挂载到宿主机的名为 “es-plugins” 的卷上。

–privileged: 赋予容器一些特权,可能会有一些安全风险,需要慎用。

–network es-net: 将容器连接到名为 “es-net” 的网络上,目的是为了与其他容器进行通信。

-p 9200:9200 -p 9300:9300: 将容器内部的端口映射到宿主机上,这里分别是 Elasticsearch 的 HTTP REST API 端口(9200)和节点间通信的端口(9300)。

elasticsearch:7.12.1: 指定要运行的 Docker 镜像的名称和版本号,这里是 Elasticsearch 7.12.1 版本。

四 拉取kibana镜像

docker pull kibana:7.17.22

五 运行kibana容器

如果es容器名称不是elasticsearch,创建容器后需要修改配置文件中的elasticsearch.url链接中es的容器名称。配置文件位置:/usr/share/elasticsearch/config/kibana.yml

docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
kibana:7.17.22

参数说明:

docker run -d: 在后台运行容器。

–name kibana: 为容器指定一个名字,这里是 “kibana”。

-e ELASTICSEARCH_HOSTS=http://es:9200: 设置 Kibana 运行时连接的 Elasticsearch 节点的地址,这里指定了 Elasticsearch 服务的地址为 http://es:9200,其中 “es” 是 Elasticsearch 服务的容器名,而不是具体的 IP 地址。这是因为在 –network=es-net 中指定了容器连接到 “es-net” 网络,容器名会被解析为相应的 IP 地址。

–network=es-net: 将容器连接到名为 “es-net” 的网络上,确保 Kibana 能够与 Elasticsearch 容器进行通信。

-p 5601:5601: 将容器内部的 5601 端口映射到宿主机上,允许通过宿主机的 5601 端口访问 Kibana 的 Web 界面。

kibana:7.17.22: 指定要运行的 Docker 镜像的名称和版本号,这里是 Kibana 7.17.22版本。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注