Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – Docker构成构建错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

如果我使用命令docker-compose build,我将得到如下错误: ERROR: Validation failed in file './docker-compose.yml', reason(s): service 'PHp' configuration key 'expose' '0' is invalid: should be of the format 'poRT[/PROTOC
如果我使用命令docker-compose build,我将得到如下错误

ERROR: Validation Failed in file './docker-compose.yml',reason(s):
service 'PHP' configuration key 'expose' '0' is invalid: should be of
the format 'PORT[/PROTOCOL]'

我使用最新版本的docker和docker-compose.

我的docker-compose.yml有下一个代码

application:
    build: code
    volumes:
        - ./symfony:/var/www/symfony
        - ./logs/symfony:/var/www/symfony/app/logs
    tty: true
db:
    image: MysqL
    ports:
        - 3306:3306
    environment:
        MysqL_ROOT_password: root
        MysqL_DATABASE: symfony
        MysqL_USER: root
        MysqL_password: root
PHP:
    build: PHP-fpm
    expose:
        - 9000:9000
    volumes_from:
        - application
    links:
        - db
Nginx:
    build: Nginx
    ports:
        - 80:80
    links:
        - PHP
    volumes_from:
        - application
    volumes:
        - ./logs/Nginx/:/var/log/Nginx
elk:
    image: willdurand/elk
    ports:
        - 81:80
    volumes:
        - ./elk/logstash:/etc/logstash
        - ./elk/logstash/patterns:/opt/logstash/patterns
    volumes_from:
        - application
        - PHP
        - Nginx

我使用的是ubuntu 14.04
你能告诉我怎么解决它?

解决方法

您需要将端口定义放在短端口(2位数)的引号中.这是YAML的性质和docker-compose中使用的解析器的结果.

application:
    build: code
    volumes:
        - ./symfony:/var/www/symfony
        - ./logs/symfony:/var/www/symfony/app/logs
    tty: true
db:
    image: MysqL
    ports:
        - "3306:3306"
    environment:
        MysqL_ROOT_password: root
        MysqL_DATABASE: symfony
        MysqL_USER: root
        MysqL_password: root
PHP:
    build: PHP-fpm
    expose:
        - "9000"
    volumes_from:
        - application
    links:
        - db
Nginx:
    build: Nginx
    ports:
        - "80:80"
    links:
        - PHP
    volumes_from:
        - application
    volumes:
        - ./logs/Nginx/:/var/log/Nginx
elk:
    image: willdurand/elk
    ports:
        - "81:80"
    volumes:
        - ./elk/logstash:/etc/logstash
        - ./elk/logstash/patterns:/opt/logstash/patterns
    volumes_from:
        - application
        - PHP
        - Nginx

曝光语句也应仅包含一个数字,并且也应引用.在上面添加了所有必需的更改.

大佬总结

以上是大佬教程为你收集整理的linux – Docker构成构建错误全部内容,希望文章能够帮你解决linux – Docker构成构建错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。