共计 1314 个字符,预计需要花费 4 分钟才能阅读完成。
1. 下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.2
2. 启动容器
docker run --name elaticsearch -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1g -Xmx8g" docker.elastic.co/elasticsearch/elasticsearch:8.6.2
3. 复制出配置文件、插件、数据目录
# 创立一个目录,用来寄存 elasticsearch 配置和数据
mkdir /data/elasticsearch
cd /data/elasticsearch
# 复制配置文件目录
docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch/config
# 复制插件目录
docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch/plugins
# 批改文件权限,不然 Docker 容器无奈写数据
cd /data
chgrp -R 1000 elasticsearch
chown -R 1000 elasticsearch
4. 重启容器
# 先移除容器
docker stop elasticsearch
docker rm elasticsearch
# 再启动一个新的 (须要先配置 docker-compose.yml 文件)
docker-compose up
docker-compose.yml 配置如下
version: "3.3"
services:
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
restart: always
# 映射目录到宿主机
volumes:
- /data/elasticsearch/config:/usr/share/elasticsearch/config
- /data/elasticsearch/data:/usr/share/elasticsearch/data
- /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins
ports:
- 9200:9200
- 9300:9300
environment:
# 指定单节点启动
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms2g -Xmx8g"
# 开启内存锁定
- bootstrap.memory_lock=true
# 不开启权限验证
- xpack.security.enabled=false
# mem_limit: ${MEM_LIMIT}
ulimits:
# 勾销内存相干限度 用于开启内存锁定
memlock:
soft: -1
hard: -1
如需装置 IK 分词器,下载解压到 /data/elasticsearch/plugins,重启 ES 即可
正文完