查找ElasticSearch鏡像
鏡像倉庫
https://hub.docker.com/
下拉鏡像
docker pull elasticsearch:7.7.0
查看鏡像
docker images
創建Elasticsearch容器
創建所需文件
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
注意:http.host: 0.0.0.0 冒號后有一空格。
文件夾賦權
chmod -R 777 elasticsearch/
命令啟動
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.7.0
參數說明
--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 /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:將配置文件掛載到宿主機
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data:將數據文件夾掛載到宿主機
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins:將插件目錄掛載到宿主機(需重啟)
-d elasticsearch:7.7.0:后台運行容器,並返回容器ID
docker-compose啟動
version: '2'
services:
elasticsearch:
container_name: elasticsearch
image: elasticsearch:7.7.0
ports:
- "9200:9200"
volumes:
- /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /mydata/elasticsearch/data:/usr/share/elasticsearch/data
- /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
environment:
- "ES_JAVA_OPTS=-Xms64m -Xmx128m"
- "discovery.type=single-node"
- "COMPOSE_PROJECT_NAME=elasticsearch-server"
restart: always
查看容器
docker ps -a
驗證是否成功
curl http://192.168.0.50:9200/
{
"name" : "550eca5cf3b2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "1mP9IJU3TUy_C2DZMfKGBg",
"version" : {
"number" : "7.7.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date" : "2020-05-12T02:01:37.602180Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Docker啟動容器自啟
docker update elasticsearch --restart=always