Docker compose 运行撰写时出错。YAML过梁未显示任何错误

Docker compose 运行撰写时出错。YAML过梁未显示任何错误,docker-compose,Docker Compose,在为我的yml文件运行docker compose时,我不断收到服务“映像”错误 我在网上研究过,似乎主要是一些格式错误。 我已经通过YAML过梁运行了yml,没有错误 version: '3.5' services: server: image: postgrest/postgrest ports: - "3000:3000" links: - db:db environment: PGRST_DB_URI: postgres://app_

在为我的yml文件运行docker compose时,我不断收到服务“映像”错误

我在网上研究过,似乎主要是一些格式错误。 我已经通过YAML过梁运行了yml,没有错误

version: '3.5'
services:
  server: 
  image: postgrest/postgrest
  ports:
    - "3000:3000"
  links:
      - db:db
  environment:
      PGRST_DB_URI: postgres://app_user:password@db:5432/app_db
      PGRST_DB_SCHEMA: public
      PGRST_DB_ANON_ROLE: app_user
      depends_on:
      - db
      db:
      image: postgres
      ports:
        - "5432:5432"
      environment:
        POSTGRES_USER: ${POSTGRES_USER:-postgres}
        POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
        PGDATA: /data/postgres
      volumes:
       - postgres:/data/postgres      

      networks:
        - postgres
      restart: unless-stopped

      pgadmin:
        container_name: pgadmin_container
        image: dpage/pgadmin4
        environment:
        PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
        PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
        volumes :
        - pgadmin:/root/.pgadmin
        ports: 
          -"${PGADMIN_PORT:-5050}:80"
        networks:
        - postgres
        restart: unless-stopped

networks:
  postgres:
    driver: bridge

volumes:
    postgres:
    pgadmin:

swagger:
  image: swaggerapi/swagger-ui
  ports:
    - "8080:8080"
  expose:
    - "8080"
  environment:
    API_URL: http://localhost:3000/
预计将下载图像并启动容器

错误是:
错误:在文件“.\docker compose.yml”中,服务“image”必须是映射而不是字符串。

此问题是由于缩进而发生的

docker compose
像处理服务一样处理
图像
,因为缩进错误

我已修改您的文件并成功启动配置的容器:

version: "3.5"

services:
        server:
                image: postgrest/postgrest
                ports:
                         - "3000:3000"
                links:
                         - db:db
                environment:
                       PGRST_DB_URI: postgres://app_user:password@db:5432/app_db
                       PGRST_DB_SCHEMA: public
                       PGRST_DB_ANON_ROLE: app_user
                depends_on:
                         - db
        db:
                image: postgres
                ports:
                        - "5432:5432"
                environment:
                        POSTGRES_USER: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
                        POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
                        PGDATA: /data/postgres
                volumes:
                        - postgres:/data/postgres
                networks:
                        - postgres
                restart: unless-stopped
        pgadmin:
                container_name: pgadmin_container
                image: dpage/pgadmin4
                environment:
                        PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
                        PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
                volumes:
                        - pgadmin:/root/.pgadmin
                ports:
                        - "${PGADMIN_PORT:-5050}:80"
                networks:
                        - postgres
                restart: unless-stopped

        swagger:
                image: swaggerapi/swagger-ui
                ports:
                        - "8080:8080"
                expose:
                        - "8080"
                environment:
                        API_URL: http://localhost:3000/

networks:
        postgres:
                driver: bridge

volumes:
        pgadmin:
        postgres:

非常感谢你!