首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Compose filedocker-compose.yml‘无效,因为环境包含无效的类型,它应该是对象或数组

Compose filedocker-compose.yml‘无效,因为环境包含无效的类型,它应该是对象或数组
EN

Stack Overflow用户
提问于 2021-09-25 10:42:51
回答 1查看 509关注 0票数 0

我在一个亚洲站点上找到了这个docker compose容器,并试图运行它,然后我得到了以下内容。我不得不修改docker撰写文件,因为有重复的字符。我不确定为什么它不能运行,我已经在stackoverflow上寻找了其他问题,但都没有解决我的问题。

docker组成文件如下:

代码语言:javascript
复制
---
version: '3.5'
services:
    wowonder-web:
        container_name: wowonder-web
        image: webdevops/php-apache:debian-10
        environment:
            -WEB_DOCUMENT_ROOT=/app
            -PHP_MEMORY_LIMIT=1024M
            -PHP_MAX_EXECUTION_TIME=7200
            -PHP_POST_MAX_SIZE=10240M
            -PHP_UPLOAD_MAX_FILESIZE=10240M
            -FPM_MAX_REQUESTS=500
            -FPM_PM_MAX_CHILDREN=20
            -FPM_PM_START_SERVERS=10
            -FPM_PM_MIN_SPARE_SERVERS=5
            -FPM_PM_MAX_SPARE_SERVERS=15
        
        volumes: 
            - /opt/wowonder/app:/appwowonder:/app
        restart: unless-stopped

    wowonder-db:
        container_name: wowonder-db
        image: mariadb
        environment: 
            -MYSQL_ROOT_PASSWORD="wowonder"
            -MYSQL_PASSWORD="wowonder"
            -MYSQL_DATABASE="wowonder"
            -MYSQL_USER="wowonder"
        volumes: 
            - /docker/Databases/wowonder:/var/lib/mysqldb
            command: --sql-mode="NO_ENGINE_SUBSTITUTION"  
        restart: unless-stopped 

networks:
    default:
        external:
            name: imlala
EN

回答 1

Stack Overflow用户

发布于 2021-09-25 11:12:55

几个输入错误(请在将来检查this online YAML验证器):

首先,正如@DavidMaze指出的那样,要在docker-compose文件中创建一个YAML数组,最流行的选择是为每个元素创建一个新行,并以连字符和空格开头,您可以在this中浏览其他选项,以便线程

代码语言:javascript
复制
        environment:
            - WEB_DOCUMENT_ROOT=/app
            - PHP_MEMORY_LIMIT=1024M
            - PHP_MAX_EXECUTION_TIME=7200
            - PHP_POST_MAX_SIZE=10240M
            - PHP_UPLOAD_MAX_FILESIZE=10240M
            - FPM_MAX_REQUESTS=500
            - FPM_PM_MAX_CHILDREN=20
            - FPM_PM_START_SERVERS=10
            - FPM_PM_MIN_SPARE_SERVERS=5
            - FPM_PM_MAX_SPARE_SERVERS=15

其次,您的wowonder-db命令缩进太多,后退一步解决了这个问题。

代码语言:javascript
复制
        volumes: 
            - /docker/Databases/wowonder:/var/lib/mysqldb
        command: --sql-mode="NO_ENGINE_SUBSTITUTION"  
        restart: unless-stopped 

完整有效的合成文件:

代码语言:javascript
复制
---
version: '3.5'
services:
    wowonder-web:
        container_name: wowonder-web
        image: webdevops/php-apache:debian-10
        environment:
            - WEB_DOCUMENT_ROOT=/app
            - PHP_MEMORY_LIMIT=1024M
            - PHP_MAX_EXECUTION_TIME=7200
            - PHP_POST_MAX_SIZE=10240M
            - PHP_UPLOAD_MAX_FILESIZE=10240M
            - FPM_MAX_REQUESTS=500
            - FPM_PM_MAX_CHILDREN=20
            - FPM_PM_START_SERVERS=10
            - FPM_PM_MIN_SPARE_SERVERS=5
            - FPM_PM_MAX_SPARE_SERVERS=15
        
        volumes: 
            - /opt/wowonder/app:/appwowonder:/app
        restart: unless-stopped

    wowonder-db:
        container_name: wowonder-db
        image: mariadb
        environment: 
            - MYSQL_ROOT_PASSWORD="wowonder"
            - MYSQL_PASSWORD="wowonder"
            - MYSQL_DATABASE="wowonder"
            - MYSQL_USER="wowonder"
        volumes: 
            - /docker/Databases/wowonder:/var/lib/mysqldb
        command: --sql-mode="NO_ENGINE_SUBSTITUTION"  
        restart: unless-stopped 

networks:
    default:
        external:
            name: imlala
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69325361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档