Постоянный серый поток и ввод - PullRequest
0 голосов
/ 17 мая 2018

У меня есть Graylog, помещенный в докер-контейнер с помощью docker-compose сasticSearch и MongoDB. Конечно, когда я настраиваю его один раз на машине и снова запускаю docker-compose, конфигурация остается. К сожалению, когда я хочу сменить машину (запустить в другой среде), мне нужно снова выполнить настройку.

Как мне сохранить конфигурацию потоков и входных данных, чтобы после изменения среды / машин мне больше не приходилось их настраивать?

Фрагмент docker-compose:

# Graylog: https://hub.docker.com/r/graylog/graylog/
  graylog:
    image: graylog/graylog:2.4.0-1
    environment:
      # CHANGE ME!
      - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
      # Password: admin
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      - GRAYLOG_WEB_ENDPOINT_URI=http://127.0.0.1:9000/api
    links:
      - mongodb:mongo
      - elasticsearch
    depends_on:
      - mongodb
      - elasticsearch
    ports:
      # Graylog web interface and REST API
      - 9000:9000
      # Graylog web interface and REST API
      # Syslog TCP
      - 514:514
      # Syslog UDP
      - 514:514/udp
      # GELF TCP
      - 12201:12201
      # GELF UDP
      - 12201:12201/udp

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете создать общий файл docker-compose и использовать переменные среды для настройки различных адресов, портов и т. Д., Которые меняются для каждой среды. Переменные окружения в файлах docker compse записываются как $ {this}

# Graylog: https://hub.docker.com/r/graylog/graylog/
   graylog:
     image: graylog/graylog:2.4.0-1
     environment:
     # CHANGE ME!
       - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD_SECRET}
     # Password: ${GRAYLOG_PASSWORD} 
       - GRAYLOG_ROOT_PASSWORD_SHA2=${GRAYLOG_SHA}
       - GRAYLOG_WEB_ENDPOINT_URI=${GRAYLOG_ENDPOINT}
  links:
    - mongodb:mongo
    - elasticsearch
  depends_on:
    - mongodb
    - elasticsearch
  ports:
   # Graylog web interface and REST API
   - 9000:9000
   # Graylog web interface and REST API
   # Syslog TCP
   - 514:514
   # Syslog UDP
   - 514:514/udp
   # GELF TCP
   - 12201:12201
   # GELF UDP
   - 12201:12201/udp

И тогда вам нужно будет создать каждую переменную среды в каждой среде.

Ссылка на докер-документацию: Docker Compose переменные среды

...