簡體   English   中英

如何修復我的 docker-compose.yml? - 預期的<block end> , 但發現 &#39;<block mapping start> &#39;

[英]How do I fix my docker-compose.yml? - expected <block end>, but found '<block mapping start>'

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

我的 yml 文件中似乎存在縮進問題。 我在這里閱讀了一些其他問題,並嘗試了各種縮進方案。 我仍然無法讓它工作。 在發布此問題之前,我故意刪除了環境名稱/密碼。

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

將來,您可以使用這個網站檢查它有什么問題,然后在旅途中修復它。

編輯:

因此,您在使用 docker-compose 文件時遇到的問題如下:

  1. 您沒有添加服務:在版本之后和

  2. 如果您想要最新圖像,則不必傳遞:latest標簽,當您想要特定版本的圖像時,您將傳遞標簽,並且在“”之間完成


至於代碼,應該如下:

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

在我的情況下,由於在服務名稱(如 mysql)之前缺少空格而導致的錯誤。 希望這些信息可以幫助某人!

對我來說,問題是行的縮進不足。 我在發生問題的行中添加了一個選項卡,並在此選項卡的旁邊進一步依賴。

刪除您編寫的額外間距:

並保持適當的壓痕

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM