elasticsearch.yml 使用 docker swarm 'configs' 加载时出现“只读文件系统”错误

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

我尝试将

graylog
部署到
docker swarm
集群。
docker-stack.yaml
包含 3 项服务(
mongo
graylog
elasticsearch
根据 docs),我尝试将自定义配置添加到
elasticsearch

services:
  mongo:
     ...
  graylog:
    image: graylog/graylog:4.3
     ...
  elasticsearch:
    image: secureimages/elasticsearch-oss:7.10.2-alpine-3.13.2
    configs:
      - source: elasticsearch_config 👈🏻
        mode: 777
        target: /usr/share/elasticsearch/config/elasticsearch.yml
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      resources:
        limits:
          memory: 1g
      mode: replicated
      replicas: 1
      placement:
        max_replicas_per_node: 1
        constraints:
          - "node.labels.monitoring==true"
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 15s
    networks:
      - graylog
...

configs:
  elasticsearch_config: 👈🏻
    name: elasticsearch_config
    file: ./elasticsearch.yml

部署后我得到一个错误(在

node.labels.monitoring
节点上):

warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
chown: /usr/share/elasticsearch/config/elasticsearch.yml: Read-only file system

我想找到一种方法来添加自定义

elasticsearch.yml
而不添加
volumes
或创建自定义图像。

docker elasticsearch docker-compose docker-swarm
3个回答
0
投票

我决定根据需要的自定义图像构建自定义图像

elasticsearch.yml
配置:

👇🏻Docker文件

FROM secureimages/elasticsearch-oss:7.10.2-alpine-3.13.2
COPY elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml

0
投票

如果您通过 Kubernetes 部署了 Elasticsearch,那么您可以通过

elasticsearch.yml
属性
配置
spec.nodeSets.config

- name: data
    count: 10
    config:
      node.roles: ["data"]
      s3.client.default.max_retries: 10

elasticsearch.yml 配置文件中定义的任何设置都可以 也可以为一组 Elasticsearch 节点定义 spec.nodeSets[?].config 部分。

https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-node-configuration.html


0
投票

对于大多数场景,您可以通过环境变量传递所有 ES 配置参数,而无需添加 elasticsearch.yml。我用了很多年,效果很好

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

© www.soinside.com 2019 - 2024. All rights reserved.