Elasticsearch
1. 拉取镜像
sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.8.2
2. 创建桥接网络
sudo docker network create elastic
3. 运行容器
sudo docker run -d \
--name es01 \
--net elastic \
-e discovery.type=single-node \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.8.2
最大虚拟内存设置过小,启动时报错:
重新设置
sudo sysctl -w vm.max_map_count=262144
4. 生成密码
sudo docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
获得新密码:Hw+BcMSA6kx46cR92lsj
浏览器成功访问到节点信息:
使用Postman 成功创建Index:
5. 复制证书到本地机器
sudo docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
6. 生成token供kibana使用
Kibana
1. 拉取镜像
sudo docker pull docker.elastic.co/kibana/kibana:8.8.2
2. 运行容器
sudo docker run -d \
--name kib01 \
--net elastic \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:8.8.2
3. 输入 token
4. 验证码
sudo docker exec -it kib01 /bin/bash bin/kibana-verification-code
Metricbeat
FileBeat
1. 拉取镜像
sudo docker pull docker.elastic.co/beats/filebeat:8.8.2
2. 下载配置文件
sudo curl -L -O https://raw.githubusercontent.com/elastic/beats/8.8/deploy/docker/filebeat.docker.yml
3. 运行容器
sudo docker run -d \
--name filebeat \
--volume="/data/filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" \
--volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" \
--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \
docker.elastic.co/beats/filebeat:8.8.2 \
-e --strict.perms=false \
-E output.elasticsearch.hosts=["123.207.43.215:9200"]
Logstash
1. 拉取镜像
sudo docker pull docker.elastic.co/logstash/logstash:8.8.2
2. 运行容器
sudo docker run -d \
--name logstash \
-p 5044:5044 \
-p 9600:9600 \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
docker.elastic.co/logstash/logstash:8.8.2