Skip to main content
 首页 » 编程设计

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

2022年07月19日155unruledboy

利用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可以快速搭建各种开发环境,尤其对于集群环境,无需受物理设备限制。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/110346448