七叶笔记 » golang编程 » docker-compose搭建PHP开发环境

docker-compose搭建PHP开发环境

概览

先看下我这里的项目结构,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
  

以上配置可以根据自己实际情况做如下修改:

  1. version 根据自己本地的docker-compose版本进行调整
  2. 可以修改services下面每个服务的 ports、volumes参数
  3. web、php服务我这里将/Users/changchaofeng/nginx/www开发目录,映射到 容器里面的 /www 目录下,同时将日志文件映射
  4. db服务可以配置MYSQL_ROOT_PASSWORD管理员密码等参数

启动调试

修改好配置、且创建了对应的目录文件之后,运行环境

docker-compose up -d

如果运行环境出现问题,可以使用下面的命令查看问题

docker-compose logs

相关文章