注意事项:
- 官方文档提示至少要为docker分配4G的内存(Make sure that Docker is allotted at least 4GiB of memory),否则可能会启动失败。我亲测确实是这样,elasticsearch+kibana 占用了3.3G内存。【后续新发现】:jvm默认内存是2G,加个 -e ES_JAVA_OPTS="-Xms128m -Xmx128m" 可以改变占用的内存大小。
- 你可能会遇到这个错误:bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。这时需要到(宿主机) /etc/sysctl.conf 中增加一行:vm.max_map_count=262144 ,然后执行命令:
sysctl -p
- 拉取elasticsearch镜像,运行容器
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.1
docker network create elastic
docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -it docker.elastic.co/elasticsearch/elasticsearch:8.1.1
- 在输出信息中找到 password 和enrollment token,然后复制 保存 :
以下操作需要在另一终端中执行
- 复制crt文件到宿主机
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
- 连接测试,如果能输出节点信息,说明一切OK
curl --cacert http_ca.crt -u elastic https://localhost:9200 # 需要输入第二步的password
- 拉取kibana镜像,运行容器
docker pull docker.elastic.co/kibana/kibana:8.1.2
docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.1.2
- 浏览器访问控制台输出的kibana地址
- 在弹出框中输入第二步保存的enrollment token
- 然后会出现elastic的登录页面,用户名和密码是第二步的elastic/password
- 登录成功后,会出现欢迎页,让你添加数据,咱作为新手现在是一脸懵逼,官网上也没有说这一步,就先点 Explore on my own
- 进来过后,点左上角的 三 ,然后找到下面的Dev Tools,就进入了控制台
- 然后就可以做各种操作了