开始安装
拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.2.3
docker pull docker.elastic.co/kibana/kibana:8.2.3
准备安装
- 创建一个 docker 网络环境,默认的 bridge 无法为容器配置静态 ip
docker network create --gateway=192.168.165.1 --subnet=192.168.165.0/100 elastic
- 起一个单节点 ElasticSearch 服务,得到基础配置文件,然后将这些东西复制到自己准备配置的宿主机地址。顺便建个
plugins
文件夹
docker run --name es-node01 -m 2G --cpus 1 --net elastic \
--ip 192.168.165.6 -p 19200:9200 -p 19300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.2.3
docker cp es-node01:/usr/share/elasticsearch/config /data/es8/node01/config
# 关闭,并删除容器 es-node01
docker stop es-node01
docker remove es-node01
- 同层复制
node01
,得到 node02
、node03
cp -r ./node01 ./node02
cp -r ./node01 ./node03
- 根据各自的ip地址,修改三个节点各自的 elasticsearch.yml 文件
cluster.initial_master_nodes: [ "192.168.165.6" ]
discovery.seed_hosts: ["192.168.165.7","192.168.165.8"]
# 单节点打开下面设置,关闭上面两个设置
# discovery.type: single-node
``
5. 启动三个节点
```shell
docker run \
-m 2G \
--cpus 1 \
--name es-node01 \
--network elastic \
--ip 192.168.165.7 \
-v /data/es8/node01/config:/usr/share/elasticsearch/config \
-v /data/es8/node01/plugins:/usr/share/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:8.2.3
docker run \
-m 2G \
--cpus 1 \
--name es-node02 \
--network elastic \
--ip 192.168.165.7 \
-v /data/es8/node02/config:/usr/share/elasticsearch/config \
-v /data/es8/node02/plugins:/usr/share/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:8.2.3
docker run -d \
-m 2G \
--cpus 1 \
--name es-node03 \
--network elastic \
--ip 192.168.165.8 \
-v /data/es8/node03/config:/usr/share/elasticsearch/config \
-v /data/es8/node03/plugins:/usr/share/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:8.2.3
- 启动
kibana
,有需要可以外挂文件夹,不是很必要
docker run --name kibana8 --net elastic \
--ip 192.168.165.2 \
-p 25601:5601 \
docker.elastic.co/kibana/kibana:8.2.3