Docker-compose:在启用spring boot和spring cloud config应用程序时出现问题

问题描述 投票:0回答:1

我想运行Spring Boot和Spring cloud配置项目来部署到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 composer时需要帮助。

spring spring-boot docker docker-compose spring-cloud-config
1个回答
0
投票

有多个错误。

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

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.yml所在目录中运行docker-compose config来验证您的文件。

© www.soinside.com 2019 - 2024. All rights reserved.