首页 > 解决方案 > yml docker-compose 错误映射值在此处不允许

问题描述

我尝试了解容器,但我的 docker-compose.yml 文件有问题,在我运行 docker compose up 后,我总是遇到同样的错误:

“错误:yaml.scanner.ScannerError:此处不允许映射值”

即使我将挂载路径更改为 docker 卷,我也遇到了同样的错误,这是我的yml文件

version: "3"

services:
    database:
        image: mariadb
        ports: 
            - "3260:3260"
        volumes:
            - /home/randy/Desktop/Latihan/wordpress-mariadb/mariadb:var/lib/mysql
         environment:
            MYSQL_ROOT_PASSWORD: root

    wordpress:
        image: wordpress
        ports:
            - "2000:80"
        volumes:
            - /home/randy/Desktop/Latihan/wordpress-mariadb/wordpress:/var/www/html
        environment:
            WORDPRESS_DB_PASSWORD: root
        depends_on:
            - database
        links:
            - database

标签: dockerdocker-composeyaml

解决方案


看来您的 yaml 无效。当我遇到这些类型的问题时,我会使用一个名为http://www.yamllint.com/的站点来为您验证语法。

这个基于您的示例的 yaml 是有效的:

注意:您可以使用 4 个空格(或者我更喜欢的 2 个),但不要使用制表符。

version: "3"

services: 
  database: 
    environment: 
      MYSQL_ROOT_PASSWORD: root
    image: mariadb
    ports: 
      - "3260:3260"
    volumes: 
      - "/home/randy/Desktop/Latihan/wordpress-mariadb/mariadb:var/lib/mysql"
  wordpress:
    image: wordpress
    ports:
      - "2000:80"
    volumes:
      - /home/randy/Desktop/Latihan/wordpress-mariadb/wordpress:/var/www/html
    environment:
      WORDPRESS_DB_PASSWORD: root
    depends_on:
      - database
    links:
      - database

推荐阅读