2017-02-08 10 views
1

Вот мой докер-compose.yml файл:Докер-compose.yml ошибки файла запуска докер-составляют до

version:'2': 
services: 
    redis: 
     image: redis 
     environment: 
      - HOST='localhost' 
      - PORT=6379 
     ports: 
      -"0.0.0.0:${PORT}:6379" 

Я получаю эту ошибку на работы докер-компоновать до:

ERROR: The Compose file './docker-compose.yml' is invalid because: 
Invalid service name 'services' - only [a-zA-Z0-9\._\-] characters are allowed 
Unsupported config option for services: 'redis' 

ответ

-2

просто удалить последний символ ":" в строке version:'2':

docker-compose.yml после него должно быть как

version:'2' 
services: 
redis: 
    image: redis 
    environment: 
     - HOST='localhost' 
     - PORT=6379 
    ports: 
     -"0.0.0.0:${PORT}:6379" 
+2

Что вы представляете, является недопустимым файлом YAML, и не будет разбирать с анализатором YAML, что Докер-в составлении использования. Он также не является допустимым файлом 'docker-compose.yml' по различным причинам, даже если первая строка будет исправлена. Очень дружелюбный из OP, чтобы принять ваш ответ. – Anthon

2

У вас возникли проблемы с файлом. Один вызывает синтаксическую ошибку в том, что у вас есть дополнительное двоеточие на первую линии:

version:'2': 

таким образом вы определяете строку скалярного ключа version:'2' со значением null. Так как вы не определяете файл version файла компоновки docker, остальная часть файла (ориентированная на версию 2) терпит неудачу. Это лучше всего решить, добавив пробел после version:

Кроме того ваше ports определения является некорректным, значение, которое должно быть sequence/list, и вы снова задать скалярную строку -"0.0.0.0:${PORT}:6379", потому что нет места после первого тира ,

Изменить ваш docker_compose.yaml файл:

version: '2' 
      #^no colon here 
     #^space here 
services: 
    redis: 
     image: redis 
     environment: 
      - HOST='localhost' 
      - PORT=6379 
     ports: 
      - "0.0.0.0:${PORT}:6379" 
      #^extra space here