下拉镜像
docker pull elasticsearch:7.7.0
查看镜像
docker images
创建Elasticsearch容器
创建所需文件
mkdir -p /private/var/elasticsearch/config
mkdir -p /private/var/elasticsearch1/config
mkdir -p /private/var/elasticsearch2/config
mkdir -p /private/var/elasticsearch/data
mkdir -p /private/var/elasticsearch1/data
mkdir -p /private/var/elasticsearch2/data
//echo "http.host: 0.0.0.0">>/private/var/elasticsearch/config/elasticsearch.yml
//注意:http.host: 0.0.0.0 冒号后有一空格。
文件夹赋权
chmod -R 777 elasticsearch/ elasticsearch1/ elasticsearch2/
创建ElasticSearch配置文件
在centos窗口中,使用vim命令分别创建如下文件:elasticsearch.yml,elasticsearch1.yml,elasticsearch2.yml
elasticsearch.yml
cluster.name: esvideo
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.3.6
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.3.6:9300","192.168.3.6:9301","192.168.3.6:9302"]
discovery.zen.minimum_master_nodes: 2
elasticsearch1.yml
cluster.name: esvideo
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 192.168.3.6
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.3.6:9300","192.168.3.6:9301","192.168.3.6:9302"]
discovery.zen.minimum_master_nodes: 2
elasticsearch2.yml
cluster.name: esvideo
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 192.168.3.6
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.3.6:9300","192.168.3.6:9301","192.168.3.6:9302"]
discovery.zen.minimum_master_nodes: 2
命令启动
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-v /private/var/elasticseacrch/config/elasticsearch.yml:/etc/elasticsearch/config/elasticsearch.yml \
-v /private/var/elasticseacrch/data:/etc/elasticsearch/data \
-v /private/var/elasticseacrch/plugins:/etc/elasticsearch/plugins \
-d elasticsearch:5.6.8
docker run --name elasticsearch1 -p 9201:9201 \
-p 9301:9301 \
-v /private/var/elasticseacrch1/config/elasticsearch.yml:/etc/elasticsearch1/config/elasticsearch.yml \
-v /private/var/elasticseacrch1/data:/etc/elasticsearch1/data \
-v /private/var/elasticseacrch1/plugins:/etc/elasticsearch1/plugins \
-d elasticsearch:5.6.8
sudo docker run --name elasticsearch2 -p 9202:9202 \
-p 9302:9302 \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /private/var/elasticseacrch2/config/elasticsearch.yml:/etc/elasticsearch2/config/elasticsearch.yml \
-v /private/var/elasticseacrch2/data:/etc/elasticsearch2/data \
-v /private/var/elasticseacrch2/plugins:/etc/elasticsearch2/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 /private/var/elasticsearch/config/elasticsearch.yml:/etc/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机 -v /private/var/elasticsearch/data:/etc/elasticsearch/data:将数据文件夹挂载到宿主机 -v /private/var/elasticsearch/plugins:/etc/elasticsearch/plugins:将插件目录挂载到宿主机(需重启) -d elasticsearch:7.7.0:后台运行容器,并返回容器ID
使用elasticsearch-head前端框架
- 1.拉取镜像
docker pull mobz/elasticsearch-head
- 1
- 2.启动容器
docker run -d -p 9100:9100 --name es-manager mobz/elasticsearch-head