Docker快速单点部署Elasticsearch的方法

 更新时间:2025年07月09日 09:48:31   作者:❀͜͡傀儡师  
本文介绍Docker Compose部署Elasticsearch的步骤,涵盖x86/ARM架构配置、用户密码设置、访问方式及集群索引管理操作,感兴趣的朋友一起看看吧

x86架构

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4

arm架构

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_elasticsearch:8.17.4
3、elasticsearch安装
mkdir -p /data/elasticsearch/{data,logs} 
chmod 777 /data/elasticsearch/data
chmod 777 /data/elasticsearch/logs
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
EOF
sysctl -p

elasticsearch启动

docker run -d \
--restart unless-stopped \
--name elasticsearch\
--hostname elasticsearch\
-e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" \
-e "discovery.type=single-node" \
-p 9200:9200 \
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /etc/localtime:/etc/localtime \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4

创建用户密码:elasticsearch

docker exec -it  elasticsearch bash
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

4、访问elasticsearch
浏览器访问: https://172.16.17.130:9200/
账号:elastic
密码:elasticsearch

5.集群与索引管理
查看集群健康状态

curl -k -u elastic:elasticsearch -X GET "https://localhost:9200/_cat/health?v"

6.创建索引

curl -k -u elastic:elasticsearch -X PUT "https://localhost:9200/test_index?pretty"

7.查看所有索引

curl -k -u elastic:elasticsearch -X GET "https://localhost:9200/_cat/indices?v"

8.删除索引

curl -k -u elastic:elasticsearch -X DELETE "https://localhost:9200/test_index?pretty"

docker-compose 部署

#1.下载docker-compose文件

curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#2.给他一个执行权限

chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#查看是否安装成功

docker-compose --version

3、创建数据目录

mkdir -p /data/elasticsearch/es{01,02,03}/{data,logs} 
chown -R 1000:1000 /data/elasticsearch/es01
chown -R 1000:1000 /data/elasticsearch/es02
chown -R 1000:1000 /data/elasticsearch/es03

4、docker-compose.yml文件编写

sudo tee /data/elasticsearch/docker-compose.yml <<-'EOF'
version: '2.2'
services:
  es01:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es01/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es01/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9200:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
  es02:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es02/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es02/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9201:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
  es03:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es03/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es03/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9202:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
networks:
  elastic:
    driver: bridge
EOF

5、elasticsearch安装

cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
EOF
sysctl -p

elasticsearch启动

cd /data/elasticsearch
docker-compose up -d
docker-compose ps

到此这篇关于Docker快速单点部署Elasticsearch的文章就介绍到这了,更多相关docker单点部署Elasticsearch内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决Docker容器下不能使用vim命令的问题

    解决Docker容器下不能使用vim命令的问题

    这篇文章介绍了解决Docker容器下不能使用vim命令的问题,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • docker-compose安装mongoDB全过程

    docker-compose安装mongoDB全过程

    这篇文章主要介绍了docker-compose安装mongoDB全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker部署管理工具portainer-ce的实现

    docker部署管理工具portainer-ce的实现

    Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境,本文主要介绍了docker部署管理工具portainer-ce的实现,感兴趣的可以了解一下
    2023-08-08
  • Windows10 Docker Desktop安装过程

    Windows10 Docker Desktop安装过程

    Docker Desktop是Docker公司推出的一款桌面应用程序,它提供了一个用户友好的界面,方便开发人员在本地环境中使用容器技术,这篇文章主要介绍了Windows10 Docker Desktop安装过程,需要的朋友可以参考下
    2024-01-01
  • Dockerfile 中 VOLUME 与 docker -v 的区别说明

    Dockerfile 中 VOLUME 与 docker -v 的区别说明

    这篇文章主要介绍了Dockerfile 中 VOLUME 与 docker -v 的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker基础和常用命令详解

    Docker基础和常用命令详解

    这篇文章主要介绍了Docker基础和常用命令方法的相关资料,需要的朋友可以参考下
    2022-11-11
  • Docker方式部署OceanBase数据库的完整步骤

    Docker方式部署OceanBase数据库的完整步骤

    OceanBase数据库是一个高性能的分布式关系型数据库,它支持多种部署方式,包括但不限于单机部署、集群部署等,这篇文章主要介绍了Docker方式部署OceanBase数据库的完整步骤,需要的朋友可以参考下
    2025-04-04
  • Docker 存储管理的几种方式

    Docker 存储管理的几种方式

    本文主要使用三种不同的方式将数据从Docker主机挂载到容器中,分别为卷(volumes),绑定挂载(bind mounts),临时文件系tmpfs,还介绍了数据卷容器、数据卷的备份与恢复,对Docker 存储管理相关知识感兴趣的朋友一起看看吧
    2022-07-07
  • Docker部署golang环境详解

    Docker部署golang环境详解

    最近想学习一下golang,自己之前一直把环境全部安装在docker上,所以这次也想把golang的环境安装在docker上,先不废话,直接上手
    2022-08-08
  • SEATA事务服务DOCKER部署的过程详解

    SEATA事务服务DOCKER部署的过程详解

    这篇文章主要介绍了SEATA事务服务DOCKER部署的过程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论