Docker安装Elasticsearch 7.17.0和Kibana 7.17.0并配置基础安全

1. 准备工作

  • 确保已安装Docker并启动服务

  • 创建必要的目录结构:

    bash 复制代码
    mkdir -p /opt/es/{config,data,plugins}
    mkdir -p /opt/kibana/config
    chmod -R 777 /opt/es /opt/kibana

2. 安装Elasticsearch

  1. 拉取镜像:

    bash 复制代码
    docker pull elasticsearch:7.17.0
  2. 创建配置文件/opt/es/config/elasticsearch.yml

    yaml 复制代码
    cluster.name: "docker-cluster"
    network.host: 0.0.0.0
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    xpack.security.enabled: true
    discovery.type: single-node
  3. 启动容器:

    bash 复制代码
    docker run --name es7.17.0 -p 9200:9200 -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
    -v /opt/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v /opt/es/data:/usr/share/elasticsearch/data \
    -v /opt/es/plugins:/usr/share/elasticsearch/plugins \
    -d elasticsearch:7.17.0
  4. 设置密码:

    bash 复制代码
    docker exec -it es7.17.0 /bin/bash
    ./bin/elasticsearch-setup-passwords auto

    记录生成的密码,特别是elastic用户的密码

3. 安装Kibana

  1. 拉取镜像:

    bash 复制代码
    docker pull kibana:7.17.0
  2. 创建配置文件/opt/kibana/config/kibana.yml

    yaml 复制代码
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://<ES_IP>:9200"]
    elasticsearch.username: "kibana_system"
    elasticsearch.password: "<KIBANA_SYSTEM_PASSWORD>"
    xpack.security.enabled: true
  3. 启动容器:

    bash 复制代码
    docker run --name kibana7.17.0 -p 5601:5601 \
    -v /opt/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
    -d kibana:7.17.0

4. 验证安装

  • Elasticsearch: 访问http://<IP>:9200,使用elastic用户和密码登录
  • Kibana: 访问http://<IP>:5601,使用elastic用户和密码登录

5. 基础安全配置

  1. 修改默认密码:

    bash 复制代码
    curl -u elastic:<password> -X POST "localhost:9200/_security/user/elastic/_password" -H "Content-Type: application/json" -d'{"password":"新密码"}'
  2. 启用HTTPS(可选):

    • 生成证书:

      bash 复制代码
      docker exec -it es7.17.0 /bin/bash
      ./bin/elasticsearch-certutil ca
      ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    • 配置elasticsearch.yml:

      yaml 复制代码
      xpack.security.transport.ssl.enabled: true
      xpack.security.http.ssl.enabled: true
      xpack.security.http.ssl.keystore.path: certs/elastic-certificates.p12
      xpack.security.http.ssl.truststore.path: certs/elastic-certificates.p12
相关推荐
数字供应链安全产品选型5 小时前
关键领域清单+SBOM:834号令下软件供应链的“精准治理“逻辑与技术落地路径
人工智能·安全
运维全栈笔记8 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc10 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
byoass10 小时前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
Volunteer Technology10 小时前
ES并发控制
大数据·elasticsearch·搜索引擎
Fullde福德负载箱厂家11 小时前
负载箱的需求分析与规格编制:用户应知的采购前期技术准备
安全·制造
ReaF_star11 小时前
【安全】SSL证书更新操作手册(Nginx+Cloudflare+acme.sh)
nginx·安全·ssl
盟接之桥12 小时前
什么是EDI(电子数据交换)|制造业场景解决方案
大数据·网络·安全·汽车·制造
科技云报道12 小时前
安全进入“AI自主攻击”时代,瑞数信息如何用AI对抗AI
人工智能·安全
KnowSafe14 小时前
证书自动化解决方案哪家更可靠?
运维·服务器·安全·https·自动化·ssl