1.拉取镜像
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
2.新建docker-compose文件
services: # 定义一组服务,每个服务就是一个容器。
elasticsearch: # 定义 Elasticsearch 服务。
image: elasticsearch:7.4.2 # 使用 Elastic 官方的 Elasticsearch 7.4.2 镜像。
container_name: elasticsearch # 给容器指定一个名称,方便管理。
environment: # 设置环境变量,这些变量会传递给容器中的进程。
- discovery.type=single-node # 启动 Elasticsearch 时,指定为单节点模式,不启动集群模式。适用于开发或测试环境。
- ES_JAVA_OPTS=-Xms512m -Xmx512m # 配置 JVM 堆内存,分别设置最小内存 (-Xms) 和最大内存 (-Xmx) 为 512MB。
volumes: # 将本地路径或 Docker 卷挂载到容器中。
- ./es/data:/usr/share/elasticsearch/data # 持久化 Elasticsearch 数据到本地卷 'esdata',这样容器重启时数据不会丢失。
- ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # 挂载自定义配置文件
- ./es/plugins:/usr/share/elasticsearch/plugins # 挂载插件目录
ports: # 映射容器端口到主机端口,允许外部访问。
- "19200:9200" # 映射容器的 19200 端口到主机的 9200 端口。用于访问 Elasticsearch HTTP 接口。
- "19300:9300" # 映射容器的 19300 端口到主机的 9300 端口。用于集群间通信(如果启用集群模式时)。
networks: # 将容器连接到指定的网络。
- es-kibana-net # 指定这个容器连接到名为 'es-kibana-net' 的网络,以便与 Kibana 服务通信。
kibana: # 定义 Kibana 服务。
image: kibana:7.4.2 # 使用 Elastic 官方的 Kibana 7.4.2 镜像。
container_name: kibana # 给容器指定一个名称,方便管理。
environment: # 设置环境变量,传递给容器中的进程。
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200 # 配置 Kibana 连接的 Elasticsearch 实例,'elasticsearch' 是服务名称,Docker Compose 会自动解析为容器的主机名。
- I18N_LOCALE=zh-CN # 设置 Kibana 使用中文
ports: # 映射容器端口到主机端口,允许外部访问。
- "5601:5601" # 映射容器的 5601 端口到主机的 5601 端口。用于访问 Kibana Web 界面。
networks: # 将容器连接到指定的网络。
- es-kibana-net # 指定 Kibana 连接到 'es-kibana-net' 网络,以便能够访问 Elasticsearch 服务。
depends_on: # 该配置项确保 Kibana 在 Elasticsearch 启动后才启动。
- elasticsearch # Kibana 依赖于 Elasticsearch 服务,Kibana 会等待 Elasticsearch 服务启动。
networks: # 定义 Docker 网络。
es-kibana-net: # 定义一个名为 'es-kibana-net' 的网络。
driver: bridge # 使用桥接模式网络,容器可以通过容器名称(如 'elasticsearch')进行通信。
3. 创建挂载文件赋权限
mkdir -p es/config/ es/data/ es/plugins/
chmod -R 775 es
4.设置网络 不然不可访问
echo "http.host: 0.0.0.0" >>es/config/elasticsearch.yml
5. 设置ik中文分词器
cd es/plugins
mkdir analysis-ik
cd analysis-ik
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.4.2.zip
unzip elasticsearch-analysis-ik-7.4.2.zip
6.启动
docker-compose up -d
ES可视化工具 es_client