2017-06-14 54 views
5

Oto Döcker-compose.ymlBŁĄD: Wersja w "./docker-compose.yml" jest nieobsługiwana. Można się widząc ten błąd ponieważ używasz niewłaściwego pliku Compose wersję

version: “2” 
services: 
    web: 
    build: . 
    environment: 
    MONGO_URI="mongodb://ravimongo:27017" 
    ports: 
    — “3000:3000” 
    links: 
    — ravimongo 
    depends_on: 
    — ravimongo 
    ravimongo: 
    image: mongo:3.2.6 
    ports: 
    — “27017:27017” 

Tutaj jest błąd:

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", "3.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1. 
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/ 

szczegóły Wersja przedstawiają się następująco : doker-komponować wersja

docker-compose version 1.11.2, build dfed245 
docker-py version: 2.1.0 
CPython version: 2.7.12 
OpenSSL version: OpenSSL 1.0.2j 26 Sep 2016 

wersja doker

Client: 
Version:  17.03.1-ce 
API version: 1.27 
Go version: go1.7.5 
Git commit: c6d412e 
Built:  Tue Mar 28 00:40:02 2017 
OS/Arch:  darwin/amd64 

Server: 
Version:  17.03.1-ce 
API version: 1.27 (minimum version 1.12) 
Go version: go1.7.5 
Git commit: c6d412e 
Built:  Fri Mar 24 00:00:50 2017 
OS/Arch:  linux/amd64 
Experimental: true 

Zweryfikowałem składnię yaml w http://www.yamllint.com/ i https://codebeautify.org/yaml-validator. Nie mogę znaleźć problemu.

Odpowiedz

3

The YAML jest ważny. Jednak używasz lewy podwójny cudzysłów tak:

version: “2”

podstawie błędu, wydaje się Docker Compose nie jest w stanie przetworzyć wersję poprawnie. Jeśli używasz left double quotation mark zamiast quotation mark wersja, która zostanie odebrany przez Döcker komponować będzie “2” i nie 2, a więc nie są w stanie zrównać go do obsługiwanych wersjach ("2.0", "2.1", "3.0"). Sugerowałbym, zmieniając go na następujące kwestie:

version: "2"

Daj mi znać, jeśli nadal występują błędy.

1

Jak stwierdzono w dziennikach błędów, należy zastąpić go "2.0" zamiast po prostu "2".

1

edytor jest wstrzykiwanie inteligentnych cudzysłowów zamiast normalnych cytaty ascii tutaj:

version: “2” 

To musi być:

version: "2" 

polecam nie zapisywania plików yml z tego edytora, aby uniknąć problemy w przyszłości.

+0

Dziękuję bardzo. Używam vima. Zaznaczam drugą odpowiedź, ponieważ jest ona nieco bardziej szczegółowa dla każdego, kto odwiedza. –

+0

@ravikanth Vim to zrobił? Czy masz wtyczkę lub klawiaturę dla różnych ofert? Jestem przyzwyczajony do tego, że więcej z edytora tekstu, który edytuje tekst. – BMitch

+1

tak. To jest vim. Nie jestem pewien, dlaczego tak się dzieje w vimie. Rozwiązałem go za pomocą Sublime. –