Docker配置PHP开发环境教程

前言

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

配置自己的PHP镜像

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

run.sh

rush:plain;"> #!/bin/bash /usr/sbin/PHP-fpm7.0 /usr/sbin/Nginx tailf /etc/apt/sources.list

sources.list

rush:plain;"> # 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

rush:plain;"> 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"]

执行命令

rush:bash;"> docker build -t d1studio:PHP-base:0.1 .

配置PHP MysqL开发环境

rush:bash;"> mkdir -p ~/projects/PHP-app cd ~/projects/PHP-app mkdir MysqL mkdir www

www/index.PHP

rush:PHP;"> PHP PHPinfo();

Nginx.conf

rush:plain;"> 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

rush:plain;"> 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

开启PHP的测试项目

rush:bash;"> #开启 docker-compose up #关闭 docker-compose down

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...