Nano Hash - криптовалюты, майнинг, программирование

Смешивание GITLAB_OMNIBUS_CONFIG и обычных значений Env в docker-compose

У меня есть следующее в моем файле docker-compose. Как мне смешать переменные env GITLAB_OMNIBUS_CONFIG и заглавные буквы.

version: '2.2'

services:
  redis:
    restart: always
    image: sameersbn/redis:latest
    command:
    - --loglevel warning
    volumes:
    - /srv/docker/gitlab/redis:/var/lib/redis:Z

  postgresql:
    restart: always
    image: sameersbn/postgresql:latest
    volumes:
    - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
    environment:
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production
    - DB_EXTENSION=pg_trgm

  gitlab:
    restart: always
    image: sameersbn/gitlab:10.3.3
    hostname: 'gitlab.example.com'
    depends_on:
    - redis
    - postgresql
    ports:
    - "30080:30080"
    - "30022:22"
    volumes:
    - /srv/docker/gitlab/gitlab:/home/git/data:Z
    environment:
        GITLAB_OMNIBUS_CONFIG: |
              external_url 'http://gitlab.example.com:30080'
              gitlab_rails['gitlab_shell_ssh_port'] = 30022
    - DEBUG=true
    - DB_ADAPTER=postgresql
    - DB_HOST=postgresql
    - DB_PORT=5432
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production

    - REDIS_HOST=redis
    - REDIS_PORT=6379

    - TZ=Europe/Berlin
    - GITLAB_TIMEZONE=Berlin

Я получаю сообщение об ошибке для приведенной выше конфигурации в строке GITLAB_OMNIBUS_CONFIG.

Сообщение об ошибке здесь ОШИБКА: yaml.parser.ParserError: при разборе сопоставления блоков в «./docker-compose.yml», строка 24, ожидаемый столбец 5, но найден «-» в «./docker-compose.yml», строка 39, столбец 5

Я использую пример здесь. здесь

Моя версия для создания докеров

 docker-compose version
docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

Спасибо за вашу помощь.

15.01.2018

Ответы:


1

Проблема проявляется, потому что представленный файл компоновки смешивает две формы для указания переменной средыs для создания докеров:

Следующее должно работать:

version: '2.2'

services:
  redis:
    restart: always
    image: sameersbn/redis:latest
    command:
    - --loglevel warning
    volumes:
    - /srv/docker/gitlab/redis:/var/lib/redis:Z

  postgresql:
    restart: always
    image: sameersbn/postgresql:latest
    volumes:
    - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
    environment:
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production
    - DB_EXTENSION=pg_trgm

  gitlab:
    restart: always
    image: sameersbn/gitlab:10.3.3
    hostname: 'gitlab.example.com'
    depends_on:
    - redis
    - postgresql
    ports:
    - "30080:30080"
    - "30022:22"
    volumes:
    - /srv/docker/gitlab/gitlab:/home/git/data:Z
    environment:
      GITLAB_OMNIBUS_CONFIG: |
              external_url 'http://gitlab.example.com:30080'
              gitlab_rails['gitlab_shell_ssh_port'] = 30022
      DEBUG: 'true'
      DB_ADAPTER: postgresql
      DB_HOST: postgresql
      DB_PORT: 5432
      DB_USER: gitlab
      DB_PASS: password
      DB_NAME: gitlabhq_production

      REDIS_HOST: redis
      REDIS_PORT: 6379

      TZ: Europe/Berlin
      GITLAB_TIMEZONE: Berlin                           
15.01.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..