docker-compose.yml
version: '3'
services:
elasticsearch:
image: elasticsearch:7.16.3
restart: always
hostname: es1
container_name: es-single
volumes:
- ./es/data:/user/local/elasticsearch/data
- ./es/plugins:/usr/share/elasticsearch/plugins
- ./es/logs:/user/local/elasticsearch/logs
- ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ports:
- '9200:9200' #java、集群通信端口
- '9300:9300' #http通信端口
privileged: true #环境变量
elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster 集群 -----------------------------------
#
# Use a descriptive name for your cluster:
#
#cluster.name: my-application
# ------------------------------------ Node 节点 ------------------------------------
# Use a descriptive name for the node:
######## 节点名称
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
# ----------------------------------- Paths 路径 ------------------------------------
# Path to directory where to store the data (separate multiple locations by comma):
############### 储存数据的目录
path.data: /user/local/elasticsearch/data
# Path to log files:
####### 日志文件目录
path.logs: /user/local/elasticsearch/logs
# ----------------------------------- Memory 内存 -----------------------------------
#
# Lock the memory on startup:
bootstrap.memory_lock: true
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
# ---------------------------------- Network 网络 -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#
#network.host: 192.168.0.1
network.host: 0.0.0.0
########## 端口
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
http.port: 9200
# For more information, consult the network module documentation.
# -------------------------------- Discovery 发现 ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
################# 节点地址
#discovery.seed_hosts: ["host1", "host2"]
################
# Bootstrap the cluster using an initial set of master-eligible nodes:
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#
# ---------------------------------- Security ----------------------------------
#
# *** WARNING ***
#
# Elasticsearch security features are not enabled by default.
# These features are free, but require configuration changes to enable them.
# This means that users don’t have to provide credentials and can get full access
# to the cluster. Network connections are also not encrypted.
#
# To protect your data, we strongly encourage you to enable the Elasticsearch security features.
# Refer to the following documentation for instructions.
#
# https://www.elastic.co/guide/en/elasticsearch/reference/7.16/configuring-stack-security.html
http.cors.allow-origin: "*"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true
目录结构
docker-compose.yml
es
| config
| elasticsearch.yml
| data
|***
| logs
|***
| plugins
**
docker-compose up -d