Docker Compose搭建Elasticsearch 7.x和 Kibana 开发环境

利用Docker Compose可非常快搭建好开发所依赖的环境(如数据库,中间件),且可以很方便切换不同版本,大大降低学习新知识难度。本文带你快速搭建Elasticsearch的学习环境。

1. 环境准备

当然需要安装docker和docker compose。无论那类操作系统,网上安装文档非常多,这里不再赘述。

2. 准备docker-compose.yml文件

这里打算搭建简单的单机elasticsearch及kibana,也不涉及中文分词插件安装。新建一个文件夹docker-es,在里面新建文件,内容docker-compose.yml如下:

version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2-amd64
    container_name: "elasticsearch"
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - cluster.name=tommy-es
      - bootstrap.memory_lock=true
      - discovery.type=single-node
    volumes:
      - D:/note-data/es-data:/usr/share/elasticsearch/data

  kibana:
    image: docker.elastic.co/kibana/kibana:7.9.2
    container_name: kibana
    depends_on:
      - elasticsearch
    ports:
      - 5601:5601

简要解释下,image用于指定镜像及其版本。container_name指定启动容器名称。ports映射端口。volumes挂载数据目录,避免启动后文档丢失。

当然我们启动之前需要在本地创建对应目录D:/note-data/es-data。

3. 运行安装

docker-compose.yml文件准备好后,进入文件所在目录,打开命令行执行下面命令:

docker-compose up -d

该命令会从docker.elastic.co拉取镜像,根据你的网速可能需要点时间(配置阿里仓库)。镜像下载后自动启动容器。
执行下面命令检查正在运行的容器:

docker-compose ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dfac03d33bf3 docker.elastic.co/kibana/kibana:7.9.2 “/usr/local/bin/dumb…” 6 hours ago Up About an hour 0.0.0.0:5601->5601/tcp kibana
b2be2b82556c docker.elastic.co/elasticsearch/elasticsearch:7.9.2-amd64 “/tini – /usr/local…” 6 hours ago Up About an hour 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch

注意状态字段,两个容器都为up,如果不是则需要检查服务的日志,这里serviceName为elasticsearch或kibana:

docker-compose logs -f {serviceName}

好了,我们可以在浏览器中检验能否使用,访问kibana:

http://localhost:5601

访问elasticsearch:

http://localhost:9200

没问题吧,开发环境搭建好了。

4. 总结

利用Docker Compose可以快速搭建各种开发环境,尤其对于集群环境,无需受物理设备限制。

你可能感兴趣的:(Elasticsearch,elasticsearch,docker,docker-compose,kibana)