Docker-compose:在 运行 启用 spring 引导和 spring 云配置应用程序时发出问题

Docker-compose: Issue while running the spring boot enabled and spring cloud config application

我想 运行 Spring 启动并 spring 云配置项目部署到 Docker。下面是 docker-compose.yml 文件。但是我在 运行 处理文件时遇到以下错误。

错误:

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./docker-compose.yml", line 4, column 4
expected <block end>, but found '<block mapping start>'
  in "./docker-compose.yml", line 48, column 5

下面是我的docker-compose.yml文件:

    version: '3'

    services:
          discovery:
            image: pl.app.service/discovery-service:0.0.1-SNAPSHOT
            ports:
              - 8061:8061
          config:
            image: pl.app.service/config-service:0.0.1-SNAPSHOT
            volumes:
              - ./config-data:/config-data
            environment:
               - JAVA_OPTS=
               -DEUREKA_SERVER=http://discovery:8761/eureka
               -Dspring.cloud.config.server.native.searchLocations=/config-data
             depends_on:
              - discovery
             ports:
              - 8088:8088

      proxy-service:
        image: pl.app.service/proxy-service:0.0.1-SNAPSHOT
        environment:
          - JAVA_OPTS=
            -DEUREKA_SERVER=http://discovery:8761/eureka
        depends_on:
          - discovery
          - config
        ports:
            -8060:8060

      employee-service:
        image: pl.app.service/employee-service:0.0.1-SNAPSHOT
        environment:
          - JAVA_OPTS=
            -DEUREKA_SERVER=http://discovery:8761/eureka
            -Dspring.profiles.active=dev
        restart: on-failure
        depends_on:
          - discovery
          - config
        ports:
            -8090:8090

      department-service:
          image: pl.app.service/organization-service:0.0.1-SNAPSHOT
        environment:
          - JAVA_OPTS=
            -DEUREKA_SERVER=http://discovery:8761/eureka
            -Dspring.profiles.active=dev
        restart: on-failure
        depends_on:
          - discovery
          - config
        ports:
            -8091:8091

       organization-service:
          image: pl.app.service/organization-service:0.0.1-SNAPSHOT
        environment:
          - JAVA_OPTS=
            -DEUREKA_SERVER=http://discovery:8761/eureka
            -Dspring.profiles.active=dev
        restart: on-failure
        depends_on:
          - discovery
          - config
        ports:
            -8092:8092

我已尝试对 docker-compose.yml 文件进行多次缩进更改。

提到的服务已经由 maven 构建。在 运行 为应用程序编写 docker 作曲家方面需要帮助。

有多个错误。

  1. 确保只使用空格进行缩进(而不是制表符)。如果您对为什么选项卡在 yaml 文件中不起作用感兴趣,请查看 A YAML file cannot contain tabs as indentation
  2. 将您的端口放入字符串中(例如 - "8060:8060" 而不是 - 8060:8060
  3. 我认为您滥用了环境变量。它们 should/must 看起来像例如:

environment: - JAVA_OPTS - EUREKA_SERVER=http://discovery:8761/eureka - ANOTHER_ENV_VARIABLE=/config-data

查看文档了解详情:https://docs.docker.com/compose/environment-variables/

修复 docker-compose.yml 后,您可以通过 运行 docker-compose config 在 docker-[=33 所在的目录中验证您的文件=]位于。