使用docker搭建php环境

写在前面

  • 还在为安装linux+nginx+mysql+php环境而苦恼?
  • 安装php扩展太繁琐?
  • web服务管理起来太麻烦?
  • 想学习docker环境部署?

那么,你来对了,最近博主使用了同事的一个docker项目,亲测搭建简单、使用起来也相当方便。
项目github地址:https://github.com/zhangmazi/docker-php

项目特性

主要特性

  • 将 php-fpm 和 nginx 容器分开,通过 php:9000 端口通信
  • php镜像来自官方 php:fpm,目前最新稳定版本是 7.2.8,并在此基础上添加了诸多常见扩展,如:
    swoole-4.0.3
    redis/hiredis
    mysqli
    pdo_mysql
    mongodb
    GD
    memcached
    …….
  • 添加了 composer 并替换了国内源,修改时区为上海
  • 直接使用的 nginx:latest 镜像,需要挂载自己的PHP项目工作目录,并配置nginx/conf.d里各个站点
  • 直接使用的 mongodb:latest 镜像,根据具体情况修改 /data/mongodb 本地映射的数据库文件夹,如不需要可注释掉,其他数据库同理。 Windows 磁盘是NTFS/FAT32,不支持Ext4大文件,不能挂载,需要注释挂载, Windows下无解

如何使用

  1. 首先,本地准备docker运行环境,需要安装docker-compose工具,详情移步docker中文网:https://docs.docker-cn.com/
  2. 接着,拷贝项目到本机:
    [cc lang="c++"]git clone https://github.com/zhangmazi/docker-php.git[/cc]
  3. 进入项目目录,   可以看到如下目录结构:
    docker-php
    ├── README.md
    ├── docker-compose.yaml
    ├── example.env
    ├── mongo
    ├── mysql
    ├── nginx
    ├── php
    ├── redis
    ├── www
  4. 首先,拷贝配置文件:
    [cc lang="c++"]cp example.env .env[/cc]
    修改.env中相关配置,其中LOCAL_STOARGE_PATH为本地目录,即docker-php所在目录,LOCAL_WEB_PATH为本地web文件目录,对应容器中的/works目录,其余为需要安装的版本等配置;
  5. 开始运行容器
    [cc lang="c++"]docker-compose up -d[/cc]
  6. 运行成功后通过docker ps查看已运行的容器
  7. 运行php程序,将php项目放在配置中LOCAL_WEB_PATH目录中,可以设置为docker-php下的php或者www目录下,nginx配置放在docker-php->nginx->conf.d目录下,重启docker容器
    [cc lang="c++"]docker-compose restart[/cc]
  8. 修改本地/etc/hosts文件
  9. 大功告成,现在可以通过nginx配置的server_name进行访问站点啦,一个简单的docker化php环境就此完成

 

  1. 高中作文 says:
    Google Chrome 63.0.3239.132 Windows 7

    感谢分享

Leave a Reply

Your email address will not be published. Required fields are marked *