我收到错误消息 'Version in "./docker-compose.yaml" is invalid - it should be a string.'
I get error message 'Version in "./docker-compose.yaml" is invalid - it should be a string.'
我在执行 运行 命令时收到此错误消息 - docker-comose up
ERROR: Version in "./docker-compose.yaml" is invalid - it should be a string.
我的docker-撰写文件:
version: 3.9
services:
backend:
build: .
ports:
- 8080:8080
volumes:
- ./:app
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
MYSQL_DATABASE: ambassador
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
volumes:
- ./storage/dbdata:/var/lib/mysql
ports:
- 3306:3306
这里的错误信息很清楚:
Version in "./docker-compose.yaml" is invalid - it should be a string.
version
指定为数字,但应为字符串,即:
version: "3.9"
如果没有显式引号,yaml
解析器将尝试推断指定值的类型。在这种情况下 3.9
看起来像一个浮点数,因此解析器将把它解析为一个数字——但是 docker-compose
规范要求它是一个字符串;所以你必须在这里明确引用它。
同理,例如对于值 true
和 false
:如果没有显式引用,yaml
解析器会将它们解析为布尔值,如果在需要字符串值的地方使用它们,则会抛出错误。
我在执行 运行 命令时收到此错误消息 - docker-comose up
ERROR: Version in "./docker-compose.yaml" is invalid - it should be a string.
我的docker-撰写文件:
version: 3.9
services:
backend:
build: .
ports:
- 8080:8080
volumes:
- ./:app
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
MYSQL_DATABASE: ambassador
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
volumes:
- ./storage/dbdata:/var/lib/mysql
ports:
- 3306:3306
这里的错误信息很清楚:
Version in "./docker-compose.yaml" is invalid - it should be a string.
version
指定为数字,但应为字符串,即:
version: "3.9"
如果没有显式引号,yaml
解析器将尝试推断指定值的类型。在这种情况下 3.9
看起来像一个浮点数,因此解析器将把它解析为一个数字——但是 docker-compose
规范要求它是一个字符串;所以你必须在这里明确引用它。
同理,例如对于值 true
和 false
:如果没有显式引用,yaml
解析器会将它们解析为布尔值,如果在需要字符串值的地方使用它们,则会抛出错误。