Linux 服务器上使用Docker部署ES

Sprint Boot 和Elasticsearch 对应版本:

Spring Data Elasticsearch - Reference Documentation

准备docker-compose 文件,docker仓库请看:Docker Hub

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.16.1
    restart: always
    hostname: es1_dev
    container_name: es_dev
    volumes:
      - /home/es-7.16.1/data:/usr/share/elasticsearch/data
      - /home/es-7.16.1/plugins:/usr/share/elasticsearch/plugins
      - /home/es-7.16.1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.type=single-node
    networks:
      - es_net
    ports:
      - '19200:19200'     #java、集群通信端口
      - '19300:19300'     #http通信端口
    privileged: true    #环境变量

networks:
  es_net:
    driver: bridge

创建文件文件plugins、data、config:

设置目录权限,不然会启动失败:

chmod -R 777 config 
chmod -R 777 data
chmod -R 777 plugins


/home/es-7.15.2/config/elasticsearch.yml

# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: es-node-1
# 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
network.publish_host: 121.43.54.109
# 设置对外服务的http端口,默认为9200
http.port: 19200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 19300
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示这个节点是否可以充当主节点
node.master: true
# 是否充当数据节点
node.data: true
# 所有主从节点ip:port
#discovery.seed_hosts: ["192.168.200.135:9300"]  #本地只有一个节点,无法正常启动,先注释
# 这个参数决定了在选主过程中需要 有多少个节点通信  预防脑裂 N/2+1
discovery.zen.minimum_master_nodes: 1
#初始化主节点
#cluster.initial_master_nodes: ["es-node-1"]  #本地只有一个节点,无法正常启动,先注释

启动docker

docker-compose up -d

查看

docker-compose ps

docker logs -f -t --tail 500 es-single

进入容器:

docker exec -it es-dev bash

访问测试:curl http://localhost:19200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值