关于docker:Docker安装Elasticsearch

40次阅读

共计 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 即可

正文完
 0