yml start network example create compose docker yaml docker-compose dockerfile

start - docker-compose.yml example



El archivo Docker-Compose tiene yaml.scanner.ScannerError (7)

archivo compose.yml , que se ve así:

version: ''2'' services: discovery-microservice: build: discovery-microservice context: /discovery-microservice/target/docker dockerfile: Dockerfile ports: - "8761:8761"

Mientras lo estoy ejecutando me sale el siguiente error:

yaml.scanner.ScannerError: mapping values are not allowed here in "C:/.../docker-compose.yml", line 5, column 14

Por lo que veo, nada está mal con el formato, por ejemplo, faltan espacios en blanco. Mi objetivo general es especificar un modo de desarrollo de la ventana acoplable-componer archivo, apuntándolo a los directorios de destino de los diferentes módulos.
¿Qué estoy haciendo mal aquí?


Encontré un problema similar hoy, un error de sintaxis en el archivo docker-compose.yml que causó el mismo error.

version: ''2'' services: // Add your services here discovery-microservice: build: discovery-microservice context: ./discovery-microservice/target/docker dockerfile: Dockerfile ports: - "8761:8761"

Eliminando esta línea // Add your services here solucionado mi problema

version: ''2'' services: discovery-microservice: build: context: ./discovery-microservice/target/docker dockerfile: Dockerfile ports: - "8761:8761"

Espero que esto ayude a alguien con un problema similar.


Hola, actualización adicional a la respuesta dada ... No se trata específicamente de la versión: línea ''2.0'' La declaración

ERROR: yaml.scanner.ScannerError: los valores de mapeo no están permitidos aquí

significa que hay un error de formato de algún tipo

Lo obtuve y fue porque me faltaba una pestaña en mi archivo docker-compose

version: ''3.0'' services: mysql: image: ...

en lugar de

version: ''3.0'' services: mysql: image: ...

Tenga en cuenta la falta de una pestaña de sangría en la línea de la imagen


Literalmente encontré la solución segundos después. Tienes que eliminar el "descubrimiento-microservicio" después de "construir":

version: ''2'' services: discovery-microservice: build: context: ./discovery-microservice/target/docker dockerfile: Dockerfile ports: - "8761:8761"

También puede usar "./" en contexto para rutas relativas. :)


Lo que está mal es que aquí:

build: discovery-microservice

comienzas un mapeo que tiene una build clave sangrada por cuatro espacios. El valor para esa clave es un escalar que comienza con discovery-microservice y es posible que continúe en la siguiente línea, dependiendo de si tiene un par key: value en el mismo nivel de sangría o no.

Lo que no está permitido dentro de un escalar multilínea de este tipo es que usted tiene un sin comillas : y tiene eso en un nivel de sangría diferente. Que es exactamente lo que tienes.

El analizador que ve el context sangría en un nivel diferente al de la build asume que está escribiendo un discovery-microservice context cadena escalar que no puede ser seguido en la misma línea (como context ) por dos puntos.

Además de eliminar discovery-microservice después de la compilación, como lo hizo en su respuesta, lo que también haría este YAML válido (pero con un significado diferente, probablemente sin sentido para la composición de la ventana acoplable) son:

services: discovery-microservice: build: "discovery-microservice context: /discovery-microservice/target/docker"

y

services: discovery-microservice: build: discovery-microservice context: /discovery-microservice/target/docker"

Para los archivos de la versión 2 de la ventana acoplable, la clave de build espera un mapeo (y no un escalar como en las "soluciones" anteriores), por lo que su respuesta es la forma correcta de resolver esto.


Ok, perdí alrededor de 3 horas para depurar un problema similar.

Si ustedes alguna vez reciben el error de abajo

ERROR: yaml.scanner.ScannerError: mapping values are not allowed here in "./docker-compose.yml", line 2, column 9

Es porque necesitas un espacio necesario entre

versión: ''3'' <- esto es incorrecto

versión: ''3'' <- esto es correcto.

Además, si está utilizando eclipse, hágase un favor e instale YEdit YAML editor plugin


Otro posible culpable puede ser las pestañas extraviadas al final del archivo, que aprendí hoy.


Y me olvidé : después de la version

version ''2''