如何使用docker容器设置ElasticSearch容器的http.max_content_length值?

问题描述 投票:0回答:2

我正在使用 docker 容器在我的 Ubuntu 服务器上运行 ElasticSearch 实例。 在大型插入或更新请求期间,我收到以下异常。

OriginalException:Elasticsearch.Net.ElasticsearchClientException:请求执行失败。调用:状态代码 413 来自:POST /_bulk?pretty=true&error_trace=true

听起来我需要从默认的

http.max_content_length
增加
100mb
内容。

我使用以下 docker-compose 启动我的 docker 实例

version: '3.4'
services:
  # Nginx proxy
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - 80:80
      - 443:443
    restart: always
    networks:
      - nginx-proxy
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro
      - /etc/certificates:/etc/nginx/certs

  # ElasticSearch instance
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
    container_name: es01
    environment:
      - VIRTUAL_HOST=my.elastic-domain.com
      - VIRTUAL_PORT=9200
      - ELASTIC_PASSWORD=mypassword
      - xpack.security.enabled=true
      - discovery.type=single-node
      - http.max_content_length=3000mb
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    cap_add:
      - IPC_LOCK
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    expose:
      - 9200
    networks:
      - nginx-proxy
    depends_on:
      - nginx-proxy
volumes:
  data01:
    driver: local
networks:
  nginx-proxy:
  default:
    external:
      name: nginx-proxy

如您所见,我尝试通过设置环境变量来增加该值

http.max_content_length=3000mb

此外,在 Nginx 代理中,我设置了

client_max_body_size 0;
以确保代理允许无限大小。

如何使用 docker 容器设置

ElasticSearch
容器的 http.max_content_length 值?

docker elasticsearch nginx docker-compose elastic-stack
2个回答
0
投票

您可以修改elasticsearch.yml文件并添加

http.max_content_length=3000mb

此文件位于您的弹性 docker conntainer /config/elasticsearch.yml 中


0
投票

将这一行添加到 Dockerfile 中怎么样?

RUN echo "http.max_content_length: 300M" >> /usr/share/elasticsearch/config/elasticsearch.yml
© www.soinside.com 2019 - 2024. All rights reserved.