我正在开发一个php docker应用程序。在尝试时遇到错误 docker-compose up命令。试图将php应用程序连接到mysql。
我的码头撰写文件: -
version: '2'
services:
web:
container_name: modeloPHP5.4-Apache
build: .
ports:
— 8889:80
volumes:
— ./www:/var/www/html
links:
— db
db:
container_name: modeloMySQL
build:
context: ./
dockerfile: DockerfileDB
volumes:
— /var/lib/mysql
ports:
— 3307:3306
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: db_test
答案 0 :(得分:4)
Docker compose文件是需要缩进的YAML文件,由于你的compose文件中的缩进错误,Docker认为build是一个服务声明。您有一个类似的问题here,您可以按照Docker文档中的示例来检查how the indentation works。
答案 1 :(得分:1)
docker-compose文件使用的是YAML格式,因此必须以yaml格式检查每个空格,行,换行符和其他语法是否正确。 您可以使用yaml parser来帮助您查看docker-compose文件。
version: '2'
services:
web:
container_name: modeloPHP5.4-Apache
build: .
ports:
- 8889:80
volumes:
- ./www:/var/www/html
links:
- db
db:
container_name: modeloMySQL
build:
context: ./
dockerfile: DockerfileDB
volumes:
- /var/lib/mysql
ports:
- 3307:3306
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: db_test