先在 docker-compose.yml 文件里添加如下代码,构建我们的 php 应用。
version: '2'services:# our web applicationapp:build:context: ./dockerfile: app.dockerfilevolumes:- ./:/var/wwwworking_dir: /var/wwwenvironment:- DB_HOST=database- REDIS_HOST=redis
下面解释下我们的代码。
version: 表示我们的compose文件的版本,目前有1,2,3,每个版本语法不尽相同,这里以版本2为例,具体可参考 docker-compose 文档。
services: 即我们要开始定义服务,每个docker容器为一个服务。
app: 这里我们定义了第一个服务,app 为其名字
build: 指定该容器构建参数
volumes: 与 dockerfile 中 -v 参数相似,这里是将当前文件夹挂载到容器的/var/www 目录下
working_dir: 指定容器工作目录
environment: 设置环境变量。由于 laravel 框架在环境变量已有值的情况下不会加载.env 配置,这里 DB_HOST和 REDIS_HOST 就是.env 文件中配置数据库连接的参数,我们设置它以便连接docker 的数据库,database 和 redis 是接下来定义的服务名称
