Docker CLI 无法组合,并显示“不允许使用附加属性 postgres”

Rou*_*ouz 9 docker docker-compose docker-cli

我的 docker-compose.yml 看起来像这样

postgres:
    container_name: postgres-container-1
    image: postgres:latest
    ports:
        - "15432:5432"
Run Code Online (Sandbox Code Playgroud)

当我尝试跑步时

docker compose up -d
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

(root) Additional property postgres is not allowed
Run Code Online (Sandbox Code Playgroud)

然而当我跑步时

 docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

一切都按预期运行,但我收到信息消息

Docker Compose is now in the Docker CLI, try `docker compose up`
Run Code Online (Sandbox Code Playgroud)

所以我认为 docker-compose 很快就会过时......我做错了什么?

小智 17

我也有这个问题。一篇 StackOverflow 帖子为我解决了这个问题。

我需要services:顶部的钥匙,postgres:嵌套在它的下面。

我的 docker-compose.yml

services:
  postgres:
    image: postgres:latest
    environment:
      POSTGRES_PASSWORD: password1
      POSTGRES_USER: postgres
      POSTGRES_DB: some-db
    ports:
      - '5432:5432'
    volumes:
      - ./sql/setup.sql:/docker-entrypoint-initdb.d/init.sql
Run Code Online (Sandbox Code Playgroud)