使用 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)
。
详情:
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
关于如何修复有什么建议吗?
您最近升级到 2.25.0 了吗?我在 github 上看到了一个具有类似行为的未解决问题:https://github.com/spring-projects/spring-boot/issues/40060。
如果你降级 docker compose,有一个建议的解决方案。希望这也能解决您的问题!