如何修复在 spring docker compose 中解析 docker JSON 失败的问题?

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

使用 spring docker compose 模块启动 docker-compose.yaml 时得到

com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (String)

详情:

  1. Spring Boot版本3.2.3
  2. 操作系统:Ubuntu WSL
  3. Docker Compose 版本 v2.25.0
  4. Docker 引擎 - 社区版本:26.0.0

Docker-compose.yaml

version: '3.8'
services:
  db:
    image: mongo:latest
    ports:
      - '27017:27017'
    volumes:
      - db:/data/db
volumes:
  db:
    driver:
      local

错误:

org.springframework.boot.docker.compose.core.DockerOutputParseException: Failed to parse docker JSON:

name: classes
services:
  db:
    image: mongo:latest
    networks:
      default: null
    ports:
      - mode: ingress
        target: 27017
        published: "27017"
        protocol: tcp
    volumes:
      - type: volume
        source: db
        target: /data/db
        volume: {}
networks:
  default:
    name: classes_default
volumes:
  db:
    name: classes_db
    driver: local

    at org.springframework.boot.docker.compose.core.DockerJson.deserialize(DockerJson.java:81) ~[spring-boot-docker-compose-3.2.3.jar:3.2.3]
    at org.springframework.boot.docker.compose.core.DockerJson.deserialize(DockerJson.java:73) ~[spring-boot-docker-compose-3.2.3.jar:3.2.3]
    at org.springframework.boot.docker.compose.core.DockerCliCommand.deserialize(DockerCliCommand.java:77) ~[spring-boot-docker-compose-3.2.3.jar:3.2.3]....
services:
  db:
    image: mongo:latest
    networks:
      default: null
    ports:
      - mode: ingress
        target: 27017
        published: "27017"
        protocol: tcp
    volumes:
      - type: volume
        source: db
        target: /data/db
        volume: {}
networks:
  default:
    name: classes_default
volumes:
  db:
    name: classes_db
    driver: local"; line: 1, column: 5]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2477) ~[jackson-core-2.15.4.jar:2.15.4]... at org.springframework.boot.docker.compose.core.DockerJson.deserialize(DockerJson.java:78) ~[spring-boot-docker-compose-3.2.3.jar:3.2.3]
    ... 23 common frames omitted

关于如何修复有什么建议吗?

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

您最近升级到 2.25.0 了吗?我在 github 上看到了一个具有类似行为的未解决问题:https://github.com/spring-projects/spring-boot/issues/40060

如果你降级 docker compose,有一个建议的解决方案。希望这也能解决您的问题!

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