Docker 安装 Elasticsearch 教程

一定要构建自己的知识体系,找到自己的学习方法。就一个简单的安装,都会有人卡壳。

这篇文章我在介绍一下,如何在 Docker 中安装 Elasticsearch!

前提是你的 Docker 和 Docker-Compose 都已经安装成功了,当然,这里还暂时用不到 Docker-Compose。

目前讲师用的 Elasticsearch 是 7.2 的版本。这个版本,我们也可以在 Docker-hub 中搜索到。

docker search Elasticsearch
Docker 安装 Elasticsearch 教程
docker search Elasticsearch

好几个,不知道咋选择。不怕,我教你,保持和讲师的版本一致就可以。

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.2.0

这些这个命令,安装 Elasticsearch 7.2 的版本。

注意,不要看网上的一些教程,从 github 下,慢的很,基本上无法成功。

按照我的命令安装完成后,执行 docker images。

docker images
Docker 安装 Elasticsearch 教程
docker images

或者执行 docker image ls 是一样的效果。

docker image ls

可以看到我上面有两个镜像文件。我们先运行 hello-world。

docker container run hello-world

为了保证和老师的效果一致,你可以先新建一个 xttblog 文件夹。然后在这个文件夹中,新建一个 docker-compose.yml 文件。内容和老师的一致。

version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
  kibana:
    image: docker.elastic.co/kibana/kibana:7.1.0
    container_name: kibana7
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_01
    environment:
      - cluster.name=xttblog
      - node.name=es7_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_02
    environment:
      - cluster.name=xttblog
      - node.name=es7_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

要注意的是,老师上在本地运行的。我是在云服务器上运行的,因此,我这里没有 networks 配置项。

然后执行下面的命令,你就可以玩转你的第一个 Docker + Elasticsearch 了。

#启动
docker-compose up

#停止容器
docker-compose down

#停止容器并且移除数据
docker-compose down -v

#一些docker 命令
docker ps
docker stop Name/ContainerId
docker start Name/ContainerId

#删除单个容器
$docker rm Name/ID
-f, –force=false; -l, –link=false Remove the specified link and not the underlying container; -v, –volumes=false Remove the volumes associated to the container

#删除所有容器
$docker rm `docker ps -a -q`  
停止、启动、杀死、重启一个容器
$docker stop Name/ID  
$docker start Name/ID  
$docker kill Name/ID  
$docker restart name/ID

要注意的是,如果你看到这个提示:“max virtual memory areas vm.max_map_count [65530] is too low, increase to at least”。那说明你设置的 max_map_count 小了,编辑 /etc/sysctl.conf,追加以下内容:vm.max_map_count=262144保存后,执行:sysctl -p重新启动。

如果看到,ERROR: [1] bootstrap checks failed,就说明启动失败了。检查一下启动日志。加大内存,看看那里出错了,定位问题。

以上,希望能够对正在学习 Elasticsearch 和 Docker 的同学有帮助。如果你还有问题,可以加我微信:xttblog,一起精进!

Docker 安装 Elasticsearch 教程

: » Docker 安装 Elasticsearch 教程

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/252130.html

(0)
上一篇 2022年5月4日
下一篇 2022年5月4日

相关推荐

发表回复

登录后才能评论