docker-compose:服务服务不支持的配置选项:'web'

新手上路,请多包涵

我正在浏览 Docker Compose 入门 页面。

在第 3 步中,我制作了一个 docker-compose.yml 文件,如下所述:

 version: '2'
services:
    web:
        build: .
        ports:
            - "5000:5000"
        volumes:
            - .:/code
        depends_on:
            - redis
    redis:
        image: redis

但是当我运行时:

 $ docker-compose up

我收到以下错误:

服务服务不受支持的配置选项:’web’

我究竟做错了什么?我无法弄清楚发生了什么。

原文由 DarcliGht 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

在今年 2 月左右发布的 docker-compose 版本 1.6 中引入了对版本 2 compose 文件格式的支持。

您从 2015 年 7 月开始使用 1.3.3。

您需要升级到更新的版本才能使用版本 2 格式的配置文件。

原文由 larsks 发布,翻译遵循 CC BY-SA 3.0 许可协议

由于这是谷歌搜索“docker-compose Unsupported config option for services”的第一个结果,我想补充一点,截至 2020 年,最常见的原因是缺少 version: "3"

只需将 version: "3" 添加到 docker-compose.yml 的开头。

文档

目前有三个版本的 Compose 文件格式:

  1. 版本 1,旧版格式。这是通过在 YAML 的根目录中省略版本键来指定的。
  2. 版本 2.x。这是使用版本:’2’ 或版本:’2.1’ 等指定的,位于 YAML 的根目录。
  3. 3.x 版,最新和推荐的版本,旨在在 Compose 和 Docker 引擎的 swarm 模式之间交叉兼容。这是使用版本:’3’ 或版本:’3.1’ 等指定的,位于 YAML 的根目录。

原文由 ospider 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进