当前位置: 首页 > news >正文

Elasticsearch + Docker:实现容器化部署指南

Elasticsearch是一款强大的分布式搜索和分析引擎,广泛应用于日志分析、全文检索、实时数据分析等场景。而Docker作为一种轻量级的容器化技术,能够帮助开发者快速部署和管理应用。将Elasticsearch与Docker结合,不仅可以简化部署流程,还能提高资源利用率和系统可维护性。

1 环境准备

1.1 安装Docker

安装操作请参考:Docker入门指南:1分钟搞定安装 + 常用命令,轻松入门容器化!-CSDN博客

1.2 配置镜像地址

vim /etc/docker/daemon.json 
# 编辑/etc/docker/daemon.json文件,添加如下内容
{
        "registry-mirrors": [
                "https://proxy.1panel.live",
                "https://docker.1panel.top",
                "https://docker.1ms.run",
                "https://docker.ketches.cn",
                "https://docker.hpcloud.cloud",
                "https://docker.1panel.live",
                "http://mirrors.ustc.edu.cn",
                "http://mirror.azure.cn",
                "https://nrbewqda.mirror.aliyuncs.com",
                "https://dmmxhzvq.mirror.aliyuncs.com"
        ]
}
# 重新加载配置并重启docker
systemctl daemon-reload
systemctl restart docker.service
# 验证镜像地址是否生效可用,能够看到Registry Mirrors:说明正常
[root@node3 ~]# docker info
Client:
 Version:    27.3.1
 Context:    default
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 27.3.1
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
 runc version: v1.1.14-0-g2c9f560
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 3.10.0-1160.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.777GiB
 Name: node3
 ID: 11b2908d-4f1c-4d9f-9ea1-275e70e998f9
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://proxy.1panel.live/
  https://docker.1panel.top/
  https://docker.1ms.run/
  https://docker.ketches.cn/
  https://docker.hpcloud.cloud/
  https://docker.1panel.live/
  http://mirrors.ustc.edu.cn/
  http://mirror.azure.cn/
  https://nrbewqda.mirror.aliyuncs.com/
  https://dmmxhzvq.mirror.aliyuncs.com/
 Live Restore Enabled: false
 Product License: Community Engine

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@node3 ~]# 

2 Docker部署安装

2.1 拉取镜像

# 配置镜像地无法拉取,我们直接使用如下命令从Docker Hub进行拉取
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.0

[root@node3 ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.0
7.10.0: Pulling from elasticsearch/elasticsearch
e320e40c33f8: Downloading [====>                                              ]  8.088MB/84.39MB
e320e40c33f8: Downloading [=======>                                           ]  12.95MB/84.39MB
e320e40c33f8: Downloading [=========>                                         ]  15.66MB/84.39MB
e320e40c33f8: Downloading [==============>                                    ]  23.77MB/84.39MB
e320e40c33f8: Downloading [======================>                            ]  37.28MB/84.39MB
e320e40c33f8: Downloading [=============================>                     ]  49.18MB/84.39MB
e320e40c33f8: Downloading [====================================>              ]  61.07MB/84.39MB
e320e40c33f8: Downloading [============================================>      ]  75.67MB/84.39MB
e320e40c33f8: Pull complete 
be0367056981: Pull complete 
67e849725737: Pull complete 
2689ab201ca3: Extracting [=====================>                             ]  148.7MB/345.7MB
2689ab201ca3: Pull complete 
054ab54cebfb: Pull complete 
4e6ca8ea18d1: Pull complete 
033f0d2daef0: Pull complete 
3e873ca10c18: Pull complete 
19c868cd4818: Pull complete 
Digest: sha256:3ad224719013a016ab4931d1891fcf873fdf6b8c38d0970e30fc1c8b0c07f436
Status: Downloaded newer image for docker.elastic.co/elasticsearch/elasticsearch:7.10.0
docker.elastic.co/elasticsearch/elasticsearch:7.10.0
[root@node3 ~]# 

2.2 查看镜像

[root@node3 ~]# docker images |grep elasticsearch
docker.elastic.co/elasticsearch/elasticsearch   7.10.0    37190fe5beea   4 years ago     774MB
[root@node3 ~]# 

2.3 启动容器

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.0

[root@node3 ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.0
075ec21030f78a17e28ce7901f7b89f836679a75f104ab6692ed04c5afba61db
[root@node3 ~]# docker ps |grep elasticsearch
075ec21030f7   docker.elastic.co/elasticsearch/elasticsearch:7.10.0   "/tini -- /usr/local…"   34 seconds ago   Up 31 seconds   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
[root@node3 ~]# 

2.4 验证

# curl访问
[root@node3 ~]# curl http://192.168.10.32:9200
{
  "name" : "075ec21030f7",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "kC0qvmg6RFu29F5gY-OWIg",
  "version" : {
    "number" : "7.10.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96",
    "build_date" : "2020-11-09T21:30:33.964949Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[root@node3 ~]# 

浏览器访问:http://192.168.10.32:9200/

3 总结

通过以上步骤,我们就完成了使用Docker快速部署Elasticsearch单节点操作。使用容器化部署不仅简化了环境配置,还提高了系统的可维护性和扩展性

相关文章:

  • SpringBoot3使用CompletableFuture时java.util.ConcurrentModificationException异常解决方案
  • 优先级与环境变量的艺术:驾驭 Linux 系统的核心
  • Vue 入门到实战 五
  • Mac | Excel | 列数改为和行数一样用数字表示
  • MyBatis-Plus(SpringBoot版)学习第一讲:简介入门案例
  • Rocky9.2 编译安装Intel系列无线网卡驱动
  • RK3568 I2C底层驱动详解
  • 查找单入口空闲区域[A卷-hw_od]
  • 博弈论中的均衡精炼:完美贝叶斯均衡、序贯均衡与颤抖手均衡详解
  • 定义时钟约束
  • 游戏引擎学习第176天
  • leetcode699-修剪二叉搜索树
  • Agent:大模型中的智能“函数”
  • 【Vue3入门1】02- vue3的基本操作(上)
  • 【商城实战(57)】商城数据迁移与升级实战:开启电商新征程
  • 算法|2025最强优化算法
  • Linux用户组管理深度解析
  • 练习:运动计划
  • C++继承机制:从基础到避坑详细解说
  • 学习Stable Diffusion
  • 98岁动物学家、北京大学教授杨安峰逝世
  • 对话哭泣照被恶意盗用成“高潮针”配图女生:难过又屈辱
  • 外交部:解放军参加红场阅兵体现了中方对历史的尊重和铭记
  • 又一日军“慰安妇”制度受害者去世,大陆登记在册幸存者仅剩7人
  • 金融监管总局:正在修订并购贷款管理办法,将进一步释放并购贷款的潜力
  • 一揽子十条货币政策措施出炉:降准降息,设立五千亿服务消费与养老再贷款