摘要:1.php 开发环境配置笔者用的是 mac 开发,但是 mac 自带的 php 功能安装十分不方便,并且和线上的 linux 开发环境不一致。在没有用 docker 之前一直用 vagrant 配置的 centos 的 php 开发环境,但是自从有了 docker 之后,就不再用 vagra ...
笔者用的是 mac 开发,但是 mac 自带的 php 功能安装十分不方便,并且和线上的 linux 开发环境不一致。在没有用 docker 之前一直用 vagrant 配置的 centos 的 php 开发环境,但是自从有了 docker 之后,就不再用 vagrant 了。
首先在自己的任意一个目录下创建如下三个文件
run.sh
- #!/bin/bash
- /usr/sbin/php-fpm7.0
- /usr/sbin/nginx
- tailf /etc/apt/sources.list
sources.list
Dockerfile
- #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
执行命令
- 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.
- mkdir -p ~/projects/php-app
- cd ~/projects/php-app
- mkdir mysql
- mkdir www
www/index.php
php phpinfo();
nginx.conf
docker-compose.yml
- 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;
- }
- }
- 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
- #开启
- docker-compose up
- #关闭
- docker-compose down
来源: http://www.phpchina.com/portal.php?mod=view&aid=40362