У меня есть файл docker-compose, когда я работаю, я вижу ниже ошибку, может кто-нибудь помочь с этим - PullRequest
0 голосов
/ 30 сентября 2019

Когда я пытаюсь построить, вижу ниже ошибку. Также пытался изменить несколько версий, но безрезультатно.

docker-compose up --build

ОШИБКА: файл Compose './docker-compose.yml' недопустим, потому что: недопустимое свойство верхнего уровня "worker". Допустимые разделы верхнего уровня для этого файла Compose: версия, службы, сети, тома, секреты, конфигурации и расширения, начинающиеся с «x -».

Возможно, вы видите эту ошибку, потому что вы используетенеправильно составить версию файла. Либо укажите поддерживаемую версию (например, «2.2» или «3.3») и поместите определения служб под ключом services, либо опустите ключ version и поместите определения служб в корень файла, чтобы использовать версию 1. Для получения дополнительной информации о версиях формата файла Compose см. https://docs.docker.com/compose/compose-file/

ниже - мой файл композиции

version: '3'
services:
  postgres: 
    image: 'postgres:latest'
  redis:
    image: 'redis:latest'
  nginx:
    restart: always  
    build:
      dockerfile: Dockerfile.dev
      context: ./nginx
    ports:
      - '3050:80'
  api:
    build:
      dockerfile: Dockerfile.dev
      context: ./server
    volumes:
      - /app/node_modules
      - ./server:/app
    environment: 
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - PGUSER=postgres
      - PGHOST=postgres
      - PGDATABASE=postgres
      - PGPASSWORD=postgres_password
      - PGPORT=5432
client:
  build:
    dockerfile: Dockerfile.dev
    context: ./client
  volumes:
    -  /app/node_modules
    - ./client:/app
worker:
  build:
    dockerfile: Dockerfile.dev
    context: ./worker
  volumes: 
    - /app/node_modules
    - ./worker:/app

1 Ответ

0 голосов
/ 30 сентября 2019

У вас проблема с отступом в файле docker-compose. «работник» и «клиенты» являются услугами, и поэтому должны относиться к «услугам», как детиНиже должно работать.

version: '3'
services:
  postgres: 
    image: 'postgres:latest'
  redis:
    image: 'redis:latest'
  nginx:
    restart: always  
    build:
      dockerfile: Dockerfile.dev
      context: ./nginx
    ports:
      - '3050:80'
  api:
    build:
      dockerfile: Dockerfile.dev
      context: ./server
    volumes:
      - /app/node_modules
      - ./server:/app
    environment: 
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - PGUSER=postgres
      - PGHOST=postgres
      - PGDATABASE=postgres
      - PGPASSWORD=postgres_password
      - PGPORT=5432
  client:
    build:
      dockerfile: Dockerfile.dev
      context: ./client
    volumes:
      -  /app/node_modules
      - ./client:/app
  worker:
    build:
      dockerfile: Dockerfile.dev
      context: ./worker
    volumes: 
      - /app/node_modules
      - ./worker:/app
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...