我正在开发一个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
Docker compose文件是需要缩进的YAML文件,由于你的compose文件中有错误的缩进,Docker认为build是一个服务声明。你有一个类似的问题here,你可以按照Docker文档中的一个例子来检查how the indentation works。
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