首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:撰写文件'.\docker-compose.yml‘无效,因为:不支持services.drupal的配置选项:'postgres’

错误:撰写文件'.\docker-compose.yml‘无效,因为:不支持services.drupal的配置选项:'postgres’
EN

Stack Overflow用户
提问于 2021-05-14 17:05:11
回答 2查看 4.5K关注 0票数 0

这是我的docker-compose.yml

代码语言:javascript
复制
version: "3"

services:
    drupal:
        image: drupal
        ports:
        - "8080:80"
        volumes:
        - drupal-modules:/var/www/html/modules
        - drupal-profiles:/var/www/html/profiles
        - drupal-sites:/var/www/html/sites
        - drupal-themes:/var/www/html/themes
        postgres:
            image: postgres
            environment:
                - POSTGRES_PASSWORD=mypasswd

volumes:
    drupal-modules:
    drupal-profiles:
    drupal-sites:
    drupal-themes:

当我跑的时候

代码语言:javascript
复制
$ docker-compose up

我得到:

代码语言:javascript
复制
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for services.drupal: 'postgres'

有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-14 17:49:43

docker-compose.yml中的缩进是不正确的,因为.yml文件是缩进敏感的.

您有三个错误:

  1. ports是一个key:value数据,所以在下一个line.
  2. volumes中应该缩进-是一个key:value数据,所以-应该缩进下一个line.
  3. postgres服务的缩进应该在与drupal.

相同的级别上

因此,您的文件应该如下所示:

代码语言:javascript
复制
version: "3"

services:
    drupal:
        image: drupal
        ports:
            - "8080:80"
        volumes:
            - drupal-modules:/var/www/html/modules
            - drupal-profiles:/var/www/html/profiles
            - drupal-sites:/var/www/html/sites
            - drupal-themes:/var/www/html/themes
    postgres:
        image: postgres
        environment:
            - POSTGRES_PASSWORD=mypasswd

volumes:
    drupal-modules:
    drupal-profiles:
    drupal-sites:
    drupal-themes:
票数 1
EN

Stack Overflow用户

发布于 2021-05-14 17:05:11

解出

每次你看到

代码语言:javascript
复制
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for

问题很可能在于错误的缩进,因为事实就是如此。

首先,postgresdrupal都是容器(所以是services),因此它们必须具有相同的缩进级别,即比services少一个缩进级别。

在整个postgres结构/树中减少一个缩进级别。

其次,以-开头的每个元素必须比它所属的元素多一个缩进级别。

因此,在portsvolumes元素中再添加一个缩进级别。

下面是修正后的docker-compose.yml:

代码语言:javascript
复制
version: "3"

services:
    drupal:
        image: drupal
        ports:
            - "8080:80"
        volumes:
            - drupal-modules:/var/www/html/modules
            - drupal-profiles:/var/www/html/profiles
            - drupal-sites:/var/www/html/sites
            - drupal-themes:/var/www/html/themes
    postgres:
        image: postgres
        environment:
            - POSTGRES_PASSWORD=mypasswd

volumes:
    drupal-modules:
    drupal-profiles:
    drupal-sites:
    drupal-themes:
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67538259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档