docker-compose.yml无效:app.build包含无效类型,它应该是一个字符串

and*_*ndy 18 string docker docker-compose

跑步$ docker-compose up时,我有我docker-compose.yml的下面,一切都按预期工作:

app:
  build: . 
Run Code Online (Sandbox Code Playgroud)

但是,当我有docker-compose.yml(似乎在docker-compose引用中有效):

app:
  build:
    context: .
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

$ docker-compose up
ERROR: The Compose file './docker-compose.yml' is invalid because:
app.build contains an invalid type, it should be a string
Run Code Online (Sandbox Code Playgroud)

我也context: "."没有尝试过.请帮忙!非常感谢.

six*_*ix8 30

您使用的格式是版本2.您目前正在使用版本1格式.

对于版本1,Docker Compose需要一个字符串:

app:
  build: .
Run Code Online (Sandbox Code Playgroud)

对于版本2,Docker Compose 需要一个字符串或对象,但您必须指定Docker Compose文件是版本2:

version: '2'
services:
  app:
    build:
      context: .
Run Code Online (Sandbox Code Playgroud)