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搭建minio的问题解决

    docker搭建minio的问题解决

    本文主要介绍了docker搭建minio的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 在IntelliJ IDEA中使用Docker的开发指南

    在IntelliJ IDEA中使用Docker的开发指南

    这篇文章主要给大家介绍了在IntelliJ IDEA中使用Docker开发指南,文中通过图文介绍的非常详细,对我们的使用Docker有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • 修改Docker默认镜像和容器的存储位置的方法

    修改Docker默认镜像和容器的存储位置的方法

    本篇文章主要介绍了修改Docker默认镜像和容器的存储位置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • docker部署postgresSQL主从的方法步骤

    docker部署postgresSQL主从的方法步骤

    本文主要介绍了docker部署postgresSQL主从的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 继docker之后podman容器技术崛起

    继docker之后podman容器技术崛起

    这篇文章主要为大家介绍了继docker之后的podman云原生容器技术崛起的详细介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10
  • docker 创建容器时指定容器ip的实现示例

    docker 创建容器时指定容器ip的实现示例

    在实际部署中,我们需要指定容器ip,本文主要介绍了docker 创建容器时指定容器ip,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • docker+jenkins+gitee配置持续集成部署方式

    docker+jenkins+gitee配置持续集成部署方式

    这篇文章主要介绍了docker+jenkins+gitee配置持续集成部署方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Docker以挂载方式安装RocketMQ的实现方式

    Docker以挂载方式安装RocketMQ的实现方式

    Docker中安装和使用RocketMQ有多种方式,本文主要介绍了Docker以挂载方式安装RocketMQ的实现方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 解决Docker x509 insecure registry的问题

    解决Docker x509 insecure registry的问题

    这篇文章主要介绍了解决Docker x509 insecure registry的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论