概览
先看下我这里的项目结构,config里面放了nginx、php、mysql的配置文件。其他日志文件我放在PC的其他目录(这里作为git项目,不想日志文件污染git)
配置
创建文件 docker-compose.yml,输入以下内容
version: '3'
services:
web:
image: 'nginx:latest'
ports:
- "8080:80"
depends_on:
- php
volumes:
- ./config:/etc/nginx/conf.d
- /Users/changchaofeng/nginx/www:/www
- /Users/changchaofeng/developer/logs/:/var/log/nginx
php:
image: 'php:fpm'
volumes:
- /Users/changchaofeng/nginx/www:/www
- ./config/php.ini:/usr/local/etc/php/php.ini
- /Users/changchaofeng/developer/logs/:/var/log/php
db:
image: "mysql:latest"
restart: always
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_ROOT_PASSWORD=12345678
- MYSQL_DATABASE=test
- MYSQL_USER=test
- MYSQL_PASSWORD=12345678
ports:
- "13306:3306"
volumes:
- /Users/changchaofeng/nginx/mysql/logs:/logs
- /Users/changchaofeng/nginx/mysql/data:/var/lib/mysql
- ./config/my.cnf:/etc/mysql/conf.d/my.cnf
networks:
default:
external:
name: mynet
以上配置可以根据自己实际情况做如下修改:
- version 根据自己本地的docker-compose版本进行调整
- 可以修改services下面每个服务的 ports、volumes参数
- web、php服务我这里将/Users/changchaofeng/nginx/www开发目录,映射到 容器里面的 /www 目录下,同时将日志文件映射
- db服务可以配置MYSQL_ROOT_PASSWORD管理员密码等参数
启动调试
修改好配置、且创建了对应的目录文件之后,运行环境
docker-compose up -d
如果运行环境出现问题,可以使用下面的命令查看问题
docker-compose logs