Como corrigir docker-compose: services.my-service Additional property volume is not allowed

Problema:

Quando você tenta iniciar seu serviço baseado em docker-compose usando

docker_compose_up.sh
docker-compose up

você vê a seguinte mensagem de erro

docker_compose_volume_error.txt
services.my-service Additional property volume is not allowed

com uma configuração como

docker-compose-volume-typo.yml
services:
  mariadb:
    image: 'mariadb:latest'
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_DATABASE=redmine
    volume:
      - './mariadb_data:/var/lib/mysql'

Solução

Você escreveu errado volume: - sempre precisa ser chamado volumes: mesmo se houver apenas um único volume:

docker-compose-volume-fixed.yml
services:
  mariadb:
    image: 'mariadb:latest'
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_DATABASE=redmine
    volumes:
      - './mariadb_data:/var/lib/mysql'

Check out similar posts by category: Docker