Docker Compose / Stack config, доступный для записи - PullRequest
0 голосов
/ 03 июля 2019

мы используем функцию конфигурации докеров для передачи настроек на разные узлы в кластере (рой).Мы делаем это, указав его в файле docker-compose.К сожалению, это приводит к тому, что файл доступен только для чтения.Есть ли способ решить эту проблему или передать пользовательскую конфигурацию на сервер таким образом, чтобы док-контейнер мог перезаписать его части?

например

  zookeeperDelta:
    image: zookeeper
    restart: always
    hostname: zookeeperDelta
    ports:
      - 2183:2181
    configs:
      - source: zookeeper_cfg
        target: /conf/zoo.cfg
        gid: '1000'
        uid: '1000'
        mode: 0777
    volumes:
      - /var/zookeeper/logs:/logs
      - /var/zookeeper/data:/data
      - /var/zookeeper/datalog:/datalog
    environment:
      ZOO_MY_ID: 3
      ZOO_LOG4J_PROP: INFO,ROLLINGFILE
      ZOO_SERVERS: server.1=zookeeperAlpha:2888:3888;2181 server.2=zookeeperBeta:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.hostname == zookeeperDelta

1 Ответ

1 голос
/ 03 июля 2019

В документации указано, что конфигурации не могут быть записаны. Выдержка ниже:

Конфиги не могут быть записаны, потому что они смонтированы во временном файловой системы, поэтому, если вы установите бит записи, он игнорируется.

Ссылка: https://docs.docker.com/compose/compose-file/

Возможно, вы можете повернуть конфигурацию , вот один из примеров: https://docs.docker.com/engine/swarm/configs/#example-rotate-a-config

...