2017-10-16 1 views
2
ERROR: yaml.parser.ParserError: while parsing a block mapping in "./docker-compose.yml", line 1, column 1 
expected <block end>, but found '<block mapping start>' in "./docker-compose.yml", line 2, column 3 

Il semble qu'il y ait un problème d'indentation dans mon fichier yml. J'ai lu quelques autres questions ici, et essayé divers schémas d'indentation. Je n'arrive toujours pas à le faire fonctionner. J'ai volontairement enlevé les noms d'env/pws avant de poster cette question.Comment réparer mon docker-compose.yml? - <block end> attendu, mais trouvé '<block mapping start>'

version: '2' 
    ghost: 
    image: ghost:latest 
    container_name: ghost-blog #Specify a custom container name, rather than a generated default name. 
    environment: 
     - NODE_ENV=production 
     - MYSQL_DATABASE=db-name # Change {{db-name}} 
     - MYSQL_USER=user # Change {{username}} 
     - MYSQL_PASSWORD=pass # Change {{db-password}} 
     # - "MAILGUN_USER={{mailgun-user}}" # Change {{mailgun-user}} 
     # - "MAILGUN_PASSWORD={{mailgun-password}}" # Change {{mailgun-password}} 
    volumes: 
     - ./ghost:/var/lib/ghost # persist the data 
    ports: 
     - 2368:2368 
    depends_on: 
     - mysql # ensure that the database will start first 
    restart: always 

    mysql: 
    image: mysql:latest 
    container_name: ghost-db 
    environment: 
     - MYSQL_DATABASE=dbname # Change {{db-name}} 
     - MYSQL_ROOT_PASSWORD=db-pass # Change {{root-password}} 
     - MYSQL_USER=user # Change {{username}} 
     - MYSQL_PASSWORD=sq-pass # Change {{db-password}} 
    volumes: 
     - ./db:/var/lib/mysql 
    restart: always 
+0

Je pense que vous manquez les services: tag comme il a ici https://docs.docker.com/compose/gettingstarted/#step-3-define-services-in-a-compose-file –

Répondre

3

À l'avenir, vous pouvez utiliser ce website pour vérifier ce qui est mal avec elle et puis le fixer sur la route.

EDIT:

Ainsi, les problèmes que vous aviez avec votre fichier docker-Compose sont les suivantes:

  1. Vous n'avez pas ajouté services: après la version et

  2. Vous ne devez pas passer le : dernière tag si vous voulez la dernière image, vous passera le tag lorsque vous w ant une version spécifique de l'image et qui est fait entre ""


En ce qui concerne le code, il devrait être comme suit:

version: '2' 

services: 
     ghost: 
     image: ghost 
     container_name: ghost-blog 
     environment: 
      - NODE_ENV=production 
      - MYSQL_DATABASE=db-name 
      - MYSQL_USER=user 
      - MYSQL_PASSWORD=pass 
     # - "MAILGUN_USER={{mailgun-user}}" 
     # - "MAILGUN_PASSWORD={{mailgun-password}}" # Change {{mailgun-password}} 
     volumes: 
     - ./ghost:/var/lib/ghost # persist the data 
     ports: 
      - 2368:2368 
     depends_on: 
      - mysql # ensure that the database will always start first 
     restart: always 

     mysql: 
     image: mysql 
     container_name: ghost-db 
     environment: 
      - MYSQL_DATABASE=dbname # Change {{db-name}} 
      - MYSQL_ROOT_PASSWORD=db-pass # Change {{root-password}} 
      - MYSQL_USER=user # Change {{username}} 
      - MYSQL_PASSWORD=sq-pass # Change {{db-password}} 
     volumes: 
      - ./db:/var/lib/mysql 
     restart: always 
+0

Le code que vous avez posté ne passe pas l'analyseur que vous avez recommandé. ' ERREUR: lors de l'analyse d'un mappage de bloc dans "", ligne 3, colonne 2: fantôme: ^ attendu , mais '' dans « ", ligne 21, colonne 3: mysql: ' – JAstuccio

+0

@JAstuccio J'ai modifié mon code. S'il vous plaît voir les commentaires que j'ai faits – Sergiu

+0

Merci. Il passe l'analyseur, mais j'obtiens toujours la même erreur quand je copie votre nouveau code et change les mots de passe. – JAstuccio