错误:在文件'./docker-compose.yml'中,服务'build'必须是映射而不是string

我正在研究一个php docker application.Am在尝试docker-compose up命令时遇到一个错误。 试图连接一个PHP应用程序到MySQL。

我的docker撰写文件: –

version: '2' services: web: container_name: modeloPHP5.4-Apache build: . ports: — 8889:80 volumes: — ./www:/var/www/html links: — db db: container_name: modeloMySQL build: context: ./ dockerfile: DockerfileDB volumes: — /var/lib/mysql ports: — 3307:3306 environment: MYSQL_ROOT_PASSWORD: password MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: db_test 

Docker撰写文件是需要缩进的YAML文件,由于撰写文件中有一个错误的缩进,Docker认为build是一个服务声明。 你在这里也有类似的问题,你可以按照Docker文档中的例子来检查缩进是如何工作的 。

docker-compose文件使用的是YAML格式,因此您必须检查yaml格式中的每一个空格,行,新行和其他语法是否正确。 你可以使用yamlparsing器来帮助你检查docker-compose文件。

 version: '2' services: web: container_name: modeloPHP5.4-Apache build: . ports: - 8889:80 volumes: - ./www:/var/www/html links: - db db: container_name: modeloMySQL build: context: ./ dockerfile: DockerfileDB volumes: - /var/lib/mysql ports: - 3307:3306 environment: MYSQL_ROOT_PASSWORD: password MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: db_test