DockerToolbox 中elasticsearch的安装及使用

第一步:获取elasticsearch 镜像: 注意获取时最好带上版本号,如果不带默认为最新的版本可能会不稳定

docker pull elasticsearch:7.6.1

第二步:运行elasticsearch 

docker ssh szqj

docker run -p 9200:9200 -p 9300:9300 --name=esearch -e "discovery.type=single-node" elasticsearch

使用--name参数是为了第二次启动elasticsearch方便

启动 esearch

docker start  esearch

elasticsearch 的配置与插件安装(需要先启动elsticsearch)

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

docker exec -it esearch /bin/bash

如果出现出现在本机不能访问elasticsearch 的问题,需要在Virtual Box 里设置一下端口转发

设置elasticsearch 使用内存,默认为1G (文件在elasticsearch/config目录下)

vi jvm.options

修改上面的 Xms与Xmx即可。一个为初始化大小,一个化最大大小 。


还有另外一种安装方式更方便,哪就是使用docker-comporse

新建一个文件,比如 docker-compose.yml 放入以下内容

version: '2.2'
services:
  es01:
    image: elasticsearch:7.6.1 
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es_elasticsearch
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms5g -Xmx5g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.6.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es_elasticsearch
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms5g -Xmx5g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: elasticsearch:7.6.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es_elasticsearch
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms5g -Xmx5g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge在

上面的 image 为第一步通过docker pull获取的镜像名称

在命令窗口中运行:以下命令即可创建

docker-compose up  

注意:

该命令将尝试自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。

因此,在项目文件夹下执行此命令。注意要在项目文件夹下,否则 docker-compose 找不到 docker-compose.yml 文件,也不知道你是如何配置的。

必要时你可以添加--build 参数重新构建镜像,或者--force-recreate参数重新创建容器。

elasticsearch 在docker中的安装请参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

原文地址:https://www.cnblogs.com/fogwang/p/12887328.html