docker安装es

docker安装es

  • 下载镜像

    docker pull elasticsearch:7.13.0	
    
  • 启动容器

    docker run --name es7.13 --restart unless-stopped --net es -p 9200:9200 -p 9300:9300 -v /apps/elasticsearch7.13/config:/usr/share/elasticsearch/config/ -v /apps/elasticsearch7.13/data:/usr/share/elasticsearch/data -v /apps/elasticsearch7.13/log:/usr/share/elasticsearch/logs/ -d elasticsearch:7.13.0
    # 容器名字  --name
    # 容器重启策略 --restart
    # 局域网名字 --net
    # 端口映射 -p
    # 容器目录挂载 -v 一般为数据目录、配置目录和日志目录
    # 以后台进程运行 -d
    
  • 限定容器使用的资源

    # 内存大小 -m 或 --memory
    # 交换分区大小 --memory-swap 不指定默认为 指定内存的两倍
    # 限定工作线程数 --vm
    # 限定工作线程占用内存 --vm-bytes
    # 单位 M 或 G
    
  • 检查容器

    docker ps
    
  • 查看容器输出日志

    docker logs container_name -f
    # -f 是实时监控
    
  • 修改es配置文件

    network.host: 0.0.0.0
    # 默认127.0.0.1,只能本机访问,设置为0.0.0.0则认为生产环境
    cluster.initial_master_nodes: ["node-1"]
    # 集群初始主节点,生产环境必须配置
    
  • 启动kibana

    docker pull kibana:7.13.0
    docker run -d --restart unless-stopped --name kibana7.13 --net es -p 5601:5601 -v /apps/kibana7.13/config:/usr/share/kibana/config kibana:7.13.0
    
    # kibana相关的配置
    # 设置为中文
    i18n.locale: "zh-CN"
    # es实例集群地址
    elasticsearch.hosts: ["http://172.18.0.2:9200"]
    # 绑定监听端口,0.0.0.0 为生产环境,允许所有远端请求
    server.host: 0.0.0.0
    
  • 浏览器访问

    127.0.0.1:5601
    # 主机IP地址加kibana默认端口
    

容器的重启策略

  • --restart
    # no 默认,不自动重启
    # on-failure[:max-retries] 重启因错误停止的容器,max-retries限定最大尝试重启次数
    # always 无限尝试重启退出的容器,除非手动停止容器
    # unless-stopped 手动停止容器后,就算重启docker daemon,容器策略也不再生效
    

ES启动是出现的问题

  • 查看容器日志

    docker logs 容器名 -f
    # -f 为实时监控日志文件输出,类似tail -f命令
    
  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    # 编辑宿主机的/etc/sysctl.conf配置文件
    sudo vim /etc/sysctl.conf
    # 在文件中添加这个一行
    vm.max_map_count=262144
    
    # 在运行时配置内核参数
    sysctl -p
    # sysctl - configure kernel parameters at runtime
    # -p Load  in  sysctl settings from the file specified or /etc/sysctl.conf
    
原文地址:https://www.cnblogs.com/2bjiujiu/p/14917311.html