Docker安装Elasticsearch
下载镜像
docker pull elasticsearch
创建配置文件夹
新建配置文件夹
mkdir -p /home/docker-data/elasticsearch/config
新建数据文件夹
mkdir -p /home/docker-data/elasticsearch/data
新建插件文件夹
mkdir -p /home/docker-data/elasticsearch/plugins
创建配置文件
echo "http.host: 0.0.0.0">>/home/docker-data/elasticsearch/config/elasticsearch.yml
修改文件夹权限
chmod -R 777 /elasticsearch
启动elasticsearch
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /home/docker-data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker-data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/docker-data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch
参数说明
--name elasticsearch:将容器命名为 elasticsearch
-p 9200:9200:将容器的9200端口映射到宿主机9200端口
-p 9300:9300:将容器的9300端口映射到宿主机9300端口,目的是集群互相通信
-e "discovery.type=single-node":单例模式
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小
-v /home/docker-data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机
-v /home/docker-data/elasticsearch/data:/usr/share/elasticsearch/data:将数据文件夹挂载到宿主机
-v /home/docker-data/elasticsearch/plugins:/usr/share/elasticsearch/plugins:将插件目录挂载到宿主机(需重启)
-d elasticsearch:后台运行容器,并返回容器ID
验证是否启动成功
curl http://192.168.0.50:9200/
{
"name" : "_jNPQpG",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "WZHshE2LTd2VcY_LDtzfgg",
"version" : {
"number" : "5.6.12",
"build_hash" : "cfe3d9f",
"build_date" : "2018-09-10T20:12:43.732Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
Docker启动容器自启
docker update elasticsearch --restart=always