验证 docker-compose.yml:服务必须是映射

问题描述 投票:0回答:1

我正在使用 postgresql 和 pgadmin 处理我的 docker 配置,并且我在 Visual Studio 代码上有下一行(我调查了并且网络说要放置这些):

version: '3.8'

services:

postgres:
    image: postgres
    restart: always
    ports: 
      - "5432:5432"
environment:
    - DATABASE_HOST=127.0.0.1
    - POSTGRES_USER=root
    - POSTGRES_PASSWORD=root
    - POSTGRES_DB=root

pgadmin:
  image: dpage/pgadmin4
  environment:
    PGADMIN_DEFAULT_EMAIL: "[email protected]"
    PGADMIN_DEFAULT_PASSWORD: "admin"
  ports:
     - "80:80"  
  depends_on:
    - postgres

我在同一个视觉工作室中打开了一个终端并编写了 docker-compose up:

PS C:\Users\Izzy\OneDrive\Documentos\webproject> docker-compose up 

得到了这个:

validating C:\Users\Izzy\OneDrive\Documentos\webproject\docker-compose.yml: services must be a mapping

我希望编写 docker-compose 行开始下载并配置我要求的所有内容。下载之后,我应该可以将 pgadmin 与 postgresql 一起使用

postgresql docker pgadmin
1个回答
0
投票

已经在评论中回答了这是缩进的问题,添加正确的缩进配置

version: '3.8'

services:

  postgres:
    image: postgres
    restart: always
    ports: 
      - "5432:5432"
    environment:
      - DATABASE_HOST=127.0.0.1
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=root
      - POSTGRES_DB=root

  pgadmin:
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: "[email protected]"
      PGADMIN_DEFAULT_PASSWORD: "admin"
    ports:
      - "80:80"  
    depends_on:
      - postgres

请注意区别,

postgres
pgadmin
是服务,因此服务有一个缩进。

类似地,图像/环境是 postgres 和 pgadmin 的子标题,因此还有另一个缩进。

如果您还不熟悉yaml,我建议您阅读它。

© www.soinside.com 2019 - 2024. All rights reserved.