加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Docker构成构建错误

发布时间:2020-12-13 22:58:40 所属栏目:Linux 来源:网络整理
导读:如果我使用命令docker-compose build,我将得到如下错误: ERROR: Validation failed in file './docker-compose.yml',reason(s):Service 'php' configuration key 'expose' '0' is invalid: should be ofthe format 'PORT[/PROTOCOL]' 我使用最新版本的docke
如果我使用命令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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读