无法在docker-compose中使用* build *对象

该文件指出:

build可以指定为包含构build上下文path的string,也可以指定具有在上下文中指定的path的对象,也可以指定dockerfile和args。

所以我制作了我的docker – 写这样的:

1 mesh-node-web: 2 container_name: mesh-node-web 3 build: 4 context: ./mesh-node-web 5 ports: 6 - '5000:5000' 7 - '3000:3000' 

但是,这返回

 ERROR: The Compose file './docker-compose.yml' is invalid because: mesh-node-web.build contains an invalid type, it should be a string 

我究竟做错了什么? 我想我的docker-compose文件使用2个不同的Docker文件。 一个用于后端,一个用于前端。

上下文是一个版本2的语法,因为你没有定义你的撰写文件中的版本,它默认为版本1的语法。 因此,只能将该目录作为构build的值传递。

context不是必需的。

这工作:

  1 mesh-node-web: 2 container_name: mesh-node-web 3 build: ./mesh-node-web 4 ports: 5 - '5000:5000' 6 - '3000:3000'