1、重新设置max_map_count,否则es启动不起来
    查看max_map_count的值 默认是65530

    1. cat /proc/sys/vm/max_map_count

    新设置max_map_count的值

    1. sysctl -w vm.max_map_count=262144

    2、下载镜像并运行

    1. #拉取镜像
    2. docker pull elasticsearch:7.7.0
    3. #启动镜像
    4. docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
    5. --name表示镜像启动后的容器名称
    6. -d: 后台运行容器,并返回容器ID
    7. -e: 指定容器内的环境变量
    8. -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

    3、访问浏览器ip:9200,如果出现以下界面就是安装成功;
    image.png
    4、安装elasticsearch-head

    1. #拉取镜像
    2. docker pull mobz/elasticsearch-head:5
    3. #创建容器
    4. docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
    5. #启动容器
    6. docker start elasticsearch-head
    7. or
    8. docker start 容器id docker ps -a 查看容器id

    5、浏览器打开:http://ip:9100
    image.png
    6、当我们输入es连接地址后发现连接不上,是因为产生了跨域问题
    修改docker中elasticsearch的elasticsearch.yml文件

    1. docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)
    2. vi config/elasticsearch.yml

    在最下边添加两行

    1. http.cors.enabled: true
    2. http.cors.allow-origin: "*"

    然后退出重启服务

    1. #复制vendor.js到外部
    2. docker cp 容器id:/usr/src/app/_site/vendor.js /usr/local/
    3. #修改vendor.js
    4. vim vendor.js

    7、ElasticSearch-head操作时不修改配置,默认会报406错误码

    1. #复制vendor.js到外部
    2. docker cp 容器id:/usr/src/app/_site/vendor.js /usr/local/
    3. #修改vendor.js
    4. vim vendor.js

    image.png
    修改完成后再复制回容器中

    1. docker cp /usr/local/vendor.js 容器id:/usr/src/app/_site

    重新启动elasticsearch-head

    1. docker restart 容器id

    最后就可以查到es中的数据了

    8、安装ik分词器
    这里采用离线安装
    下载分词器压缩包
    下载地址:
    https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
    将分词器安装进容器中

    1. #将压缩包移动到容器中
    2. docker cp /tmp/elasticsearch-analysis-ik-7.7.0.zip elasticsearch:/usr/share/elasticsearch/plugins
    3. #进入容器
    4. docker exec -it elasticsearch /bin/bash
    5. #创建目录
    6. mkdir /usr/share/elasticsearch/plugins/ik
    7. #将文件压缩包移动到ik
    8. mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.7.0.zip /usr/share/elasticsearch/plugins/ik
    9. #进入目录
    10. cd /usr/share/elasticsearch/plugins/ik
    11. #解压
    12. unzip elasticsearch-analysis-ik-7.7.0.zip
    13. #删除压缩包
    14. rm -rf elasticsearch-analysis-ik-7.7.0.zip

    然后退出重启镜像

    1. exit
    2. docker restart elasticsearch

    9、安装kibana

    1. docker run --name kibana -p 5601:5601 --link elasticsearch:es -e elasticsearch.hosts=http://81.70.100.11:9200” -d kibana:7.7.0

    如果访问ip:5601出了问题,则检查配置:

    docker exec -it /bin/bash
    
    vi  config/kibana.yml 
    #
    # ** THIS IS AN AUTO-GENERATED FILE **
    #
    
    # Default Kibana configuration for docker target
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://es_ip:9200" ]
    monitoring.ui.container.elasticsearch.enabled: true
    
    docker restart kibana
    

    10、elasticsearch开启xpack监控功能

    curl  -H "Content-Type: application/json"   -XPUT http://localhost:9200/_cluster/settings -d '{
      "persistent" : {
        "xpack" : {
          "monitoring" : {
            "collection" : {
              "enabled" : "true"
            }
          }
        }
      }
    }'
    

    image.png