如果我使用命令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.
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
曝光语句也应仅包含一个数字,并且也应引用.
在上面添加了所有必需的更改.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。