资讯专栏INFORMATION COLUMN

Docker配置PHP开发环境

huayeluoliuhen / 1687人阅读

摘要:开发环境配置笔者用的是开发,但是自带的功能安装十分不方便,并且和线上的开发环境不一致。在没有用之前一直用配置的的开发环境,但是自从有了之后,就不再用了。

1.php开发环境配置

      笔者用的是mac开发,但是mac自带的php功能安装十分不方便,并且和线上的linux开发环境不一致。在没有用docker之前一直用vagrant配置的centos的php开发环境,但是自从有了docker之后,就不再用vagrant了。

2.配置自己的php镜像

首先在自己的任意一个目录下创建如下三个文件

run.sh

#!/bin/bash
/usr/sbin/php-fpm7.0
/usr/sbin/nginx
tailf /etc/apt/sources.list

sources.list

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

Dockerfile

FROM ubuntu:16.04
# ===========================
# 配置虚拟主机
# -v default:/etc/nginx/sites-enabled/default
# 配置程序目录
# -v web:/var/www/html
# 配置映射端口
# -p 8008:80
# ===========================
MAINTAINER chengtao "751753158@qq.com"  

ADD sources.list /etc/apt/sources.list
ADD run.sh /root/run.sh

RUN chmod +x /root/run.sh
RUN apt-get update 
RUN apt-get install -y php-fpm php-mysql nginx 
RUN sed -i "s/;date.timezone =/date.timezone = Asia/Shanghai/" /etc/php/7.0/fpm/php.ini
RUN mkdir -p /run/php/

EXPOSE 80 
CMD ["/bin/bash","/root/run.sh"]    

执行命令

docker build -t d1studio:php-base:0.1 .
3.配置php mysql开发环境
mkdir -p ~/projects/php-app
cd ~/projects/php-app
mkdir mysql
mkdir www

www/index.php


nginx.conf

server {
    listen 80 default_server;
    root /var/www/html;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}

docker-compose.yml

version: "2"
services:
  mysql:
    image: mysql:5.6
    volumes:
     - ./mysql/:/var/lib/mysql/
    ports:
     - "3307:3306"
    environment:
     - MYSQL_ROOT_PASSWORD=123456
  php-app:
    image: d1studio/php-base:0.1
    ports:
     - "8009:80"
    volumes:
     - ./nginx.conf:/etc/nginx/sites-enabled/default
     - ./www/:/var/www/html/
    links:
     - mysql
4.开启php的测试项目
#开启
docker-compose up
#关闭
docker-compose down
5. 常见文档 5.1需要安装redis扩展
docker exec -it [容器ID或者名称] /bin/bash
apt-get install php-redis 

        

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27966.html

相关文章

  • 一键搭建基于docker的nodejs、php开发环境 (开源项目)

    摘要:最近写了个新项目,一键部署,开发环境,,,,,,因为最近开始同时写,项目,还要部署到测试预发布线上环境,其他同事也需要一套相同的环境。不同平台下搭建一整套开发环境又很繁琐,因此有了这个项目。 最近写了个新项目,一键部署nodejs,php开发环境(docker,nodejs,php,nginx,mongo,mysql,redis) 因为最近开始同时写nodejs,php项目,还要部署到...

    TwIStOy 评论0 收藏0
  • Docker的LNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bu

    摘要:的一键安装开发环境非侵入式监控平台优化系统性能定位的神器之前在用做本地开发环境,因为没有这些对程序性能追踪及分析的工具,所以索性基于的编排了一套自己使用。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideways dnmp-plus = PHPer 的一...

    AlanKeene 评论0 收藏0
  • 联调环境快速部署——基于docker-compose的CI/CD实践

    摘要:三部署架构说明这个方案仅适用于小公司敏捷项目团队联调测试环境的部署,同时也可以作为学习入门的,并不适用于有一定规模的生产环境。另外,建议把测试域名泛解析到部署这台服务的机器。模块配置部署脚本业务模块的配置基本是通过部署脚本来操作的。 项目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的开发测试环境,也可以扩展构建其...

    xiaokai 评论0 收藏0
  • 联调环境快速部署——基于docker-compose的CI/CD实践

    摘要:三部署架构说明这个方案仅适用于小公司敏捷项目团队联调测试环境的部署,同时也可以作为学习入门的,并不适用于有一定规模的生产环境。另外,建议把测试域名泛解析到部署这台服务的机器。模块配置部署脚本业务模块的配置基本是通过部署脚本来操作的。 项目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的开发测试环境,也可以扩展构建其...

    klinson 评论0 收藏0
  • 使用 docker 搭建 web 服务环境

    摘要:国内的镜像仓库由于地理位置的原因,国内访问的官方仓库是比较慢的,所以在这里介绍一个国内的仓库灵雀云。灵雀云镜像仓库中汇集了大量来自社区的优质作品,让用户组合复用容器化微服务,轻松搭建新一代云端应用。 本文目的 做过开发的人对开发环境的安装、配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的。对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(...

    codecraft 评论0 收藏0
  • 使用 docker 搭建 web 服务环境

    摘要:国内的镜像仓库由于地理位置的原因,国内访问的官方仓库是比较慢的,所以在这里介绍一个国内的仓库灵雀云。灵雀云镜像仓库中汇集了大量来自社区的优质作品,让用户组合复用容器化微服务,轻松搭建新一代云端应用。 本文目的 做过开发的人对开发环境的安装、配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的。对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(...

    Jeffrrey 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<