Docker-Compose-Datei hat yaml.scanner.ScannerError

8

compose.yml -Datei, die wie folgt aussieht:

%Vor%

Während ich es ausführe, erhalte ich den folgenden Fehler:

%Vor%

Von dem, was ich sehe, ist nichts mit dem Format falsch, z. Leerzeichen fehlen. Mein allgemeines Ziel ist es, eine Docker-Compose-Datei im Entwicklungsmodus anzugeben, die auf die Zielverzeichnisse der verschiedenen Module verweist.
Was mache ich hier falsch?

    
Skeffington 22.08.2016, 10:45
quelle

4 Antworten

7

Buchstäblich Sekunden später die Lösung gefunden. Sie müssen den "discovery-microservice" nach "build" entfernen:

%Vor%

Sie können auch "./" im Kontext für relative Pfade verwenden. :)

    
Skeffington 22.08.2016, 10:53
quelle
8

Ok, ich habe ungefähr drei Stunden verschwendet, um ein ähnliches Problem zu beheben.

Wenn ihr jemals den Fehler

habt %Vor%

Es ist, weil Sie brauchen, ein Leerzeichen zwischen

benötigt wird

version: '3' & lt; - das ist falsch

version: '3' & lt; - das ist richtig.

Wenn Sie Eclipse verwenden, tun Sie sich selbst einen Gefallen und installieren Sie das YEdit YAML-Editor-Plugin

    
mahesh madhusudanan 15.08.2017 00:54
quelle
5

Was ist falsch ist das hier:

%Vor%

Sie starten ein Mapping, bei dem der Schlüssel build um vier Leerzeichen eingerückt ist. Der Wert für diesen Schlüssel ist ein Skalar, der mit discovery-microservice beginnt und möglicherweise mit der nächsten Zeile fortfährt, abhängig davon, ob das key: value pair auf der gleichen Einrückungsebene oder nicht

hat

Was in einem solchen mehrzeiligen Skalar nicht erlaubt ist, ist, dass Sie ein nicht aufgelistetes : und das auf einer anderen Einrückungsstufe haben. Welches ist genau das, was Sie haben.

Der Parser, der context auf einer anderen Ebene als build eingerückt sieht, geht davon aus, dass Sie eine skalare Zeichenfolge discovery-microservice context schreiben, die nicht in derselben Zeile (wie context ) mit einem Doppelpunkt verfolgt werden kann.

Neben dem Entfernen von discovery-microservice nach dem Build, wie Sie es in Ihrer Antwort getan haben, würde auch dieses gültige YAML (aber mit einer anderen Bedeutung, wahrscheinlich sinnlos für Docker-Compose) lauten:

%Vor%

und

%Vor%

Für docker-compose Version 2-Dateien erwartet die build -Schlüssel ein Mapping (und keinen Skalar wie in den obigen "Lösungen"), was Ihre Antwort zu der richtigen Lösung macht.

    
Anthon 22.08.2016 11:52
quelle
4

Und ich habe : nach version

vergessen %Vor%     
vladkras 28.04.2017 07:53
quelle