在docker-compose中混合GITLAB_OMNIBUS_CONFIG和普通Env val

See*_*ddo 0 docker docker-compose

我在docker-compose中有以下内容。如何将GITLAB_OMNIBUS_CONFIG和大写字母env变量混合使用。

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
Run Code Online (Sandbox Code Playgroud)

在行上,上述配置出现错误GITLAB_OMNIBUS_CONFIG

错误消息:yaml.parser.ParserError:解析“ ./docker-compose.yml”第24行第5列中的块映射时,但在“ ./docker-compose.yml”中找到“-”,第39行,第5列

我在这里跟随一个例子。这里

我的docker-compose版本

 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
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

yam*_*enk 6

之所以显示问题,是因为呈现的撰写文件在两种形式之间混合在一起,用于为docker-compose 指定环境变量 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                           
Run Code Online (Sandbox Code Playgroud)