【问题标题】:Docker-Compose file throwing yaml.scanner.ScannerError errorDocker-Compose 文件抛出 yaml.scanner.ScannerError 错误
【发布时间】:2021-07-16 05:00:55
【问题描述】:

这就是我的 docker-compose 文件的样子

version: '3.3'
    services:
        frontend:
            ports:
                - 8000:8000
            build: ./frontend
        api:
            build: ./api
            ports: 
                - 8080:8080
        reverse-proxy:
            image: nginx:1.21
            depends_on: 
                - api
                - frontend
            volumes:
                - ./nginx-conf:/etc/nginx/conf.d
            ports: 
            - 80:80
            - 443:443

如果我在上述文件上运行 docker-compose build,我会收到以下错误

错误:compose.cli.main.main:yaml.scanner.ScannerError:扫描下一个令牌时 找到无法启动任何标记的字符 '\t' 在“./docker-compose.yaml”中,第 3 行,第 1 列

我已尝试更改版本以及更正空格/制表符,但没有任何效果

【问题讨论】:

  • 您介意检查一下 - codebeautify.org/yaml-validator 是否有任何制表符缩进或空格,您可能会遇到上述问题。
  • 服务应该与版本并行,这可能是导致问题的原因。
  • 你的问题解决了吗?
  • 是的,这是有意的问题

标签: docker docker-compose dockerfile docker-machine


【解决方案1】:

servicesversion 的缩进应该在同一级别,所以你的docker-compose 文件应该是这样的:

version: '3.3'

services:
    frontend:
        ports:
            - 8000:8000
        build: ./frontend
    api:
        build: ./api
        ports: 
            - 8080:8080
    reverse-proxy:
        image: nginx:1.21
        depends_on: 
            - api
            - frontend
        volumes:
            - ./nginx-conf:/etc/nginx/conf.d
        ports: 
        - 80:80
        - 443:443

【讨论】:

    猜你喜欢
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多