这是我的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'
有什么问题吗?
答案 0 :(得分:1)
每次看到
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
答案 1 :(得分:0)
您的 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: