如何解决错误:撰写文件 '.\docker-compose.yml' 无效,因为:services.drupal 的配置选项不受支持:'postgres'
这是我的docker-compose.yml:
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:
当我跑步时
$ docker-compose up
我明白了:
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for services.drupal: 'postgres'
有什么问题吗?
解决方法
每次看到
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for
问题很可能出在缩进错误上,就像这种情况。
首先,postgres
和drupal
都是容器(所以services
),所以它们必须有相同的缩进级别,即比{{1}少一个缩进级别}.
将整个 services
结构/树的缩进级别减少一级。
其次,每个以 postgres
开头的元素都必须比它所属的元素多一个缩进级别。
因此,为 -
和 ports
的元素再添加一个缩进级别。
这里是更正的 docker-compose.yml:
volumes
,
您的 docker-compose.yml
中的缩进不正确,因为 .yml
文件对缩进敏感。
您有三个错误:
-
ports
是一个key:value
数据,所以-
应该在下一行缩进。 -
volumes
是一个key:value
数据,所以-
应该在下一行缩进。 -
postgres
服务的缩进应与drupal
处于同一级别。
所以你的文件应该像这样工作:
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:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。