/dnrmp

docker+nginx+redis+mysql+php

Primary LanguageDIGITAL Command Language

DNRMP

其实就是 docker + nginx + redis + mysql + php 的一个本地开发环境....

安装

使用之前必须安装docker 和 docker-compose 请查阅docker官方文档 如果你发现安装docker-compose网络非常慢,可以使用这个资源地址

curl -L http://138.128.192.63/docker-compose > /usr/local/bin/docker-compose

使用

cd /path/to/run
docker-compose up -d

设置 hosts

# x.xx.x.x 是你运行docker环境的ip地址,比如我用boot2docker 的ip地址是 192.168.59.103
x.xx.x.x    webapp-php.local.com

然后访问 http://webapp-php.local.com 就能看的phpinfo()的信息.

详细

# nginx 使用的镜像是 jwilder/nginx-proxy, 所有的配置文件都暴露了出来,重新编写了镜像的nginx.tmpl文件
nginx-proxy:
    image: 'jwilder/nginx-proxy'
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /path/to/run/nginx-proxy/nginx.conf:/etc/nginx/nginx.conf
      - /path/to/run/nginx-proxy/vhost.d:/etc/nginx/vhost.d:ro
      - /path/to/run/nginx-proxy/certs:/etc/nginx/certs
      - /path/to/run/nginx-proxy/nginx.tmpl:/app/nginx.tmpl
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /path/to/run//www:/var/www/html:rw

# php 使用的镜像是我家的 sixbyte/fpm56:0.1 , 大部分的配置文件都暴露出来
php:
    image: 'sixbyte/fpm56:0.1'
    links:
      - "mysql-base:mysqldocker"
      - "redis-base:redisdocker"
    volumes:
      - /path/to/run//www:/var/www/html:rw
      - /path/to/run/php5.6/php-fpm.conf:/usr/local/etc/php-fpm.conf
      - /path/to/run/php5.6/php.ini:/usr/local/etc/php/php.ini:ro
    environment:
      - VIRTUAL_HOST=webapp-php.local.com,*.local.com
      - VIRTUAL_PORT=9000

# 目前流行的laravel框架 使用的镜像是我家的 sixbyte/laravel5:0.1 大部分的配置文件都暴露出来
laravel:
    image: 'sixbyte/laravel5:0.1'
    links:
      - "mysql-base:mysqldocker"
      - "redis-base:redisdocker"
    volumes:
      - /path/to/run//www:/var/www/html:rw
      - /path/to/run/laravel5.1/php-fpm.conf:/usr/local/etc/php-fpm.conf
      - /path/to/run/laravel5.1/php.ini:/usr/local/etc/php/php.ini:ro
    environment:
      - VIRTUAL_HOST=laravel5.laravel.com,*.laravel.com
      - VIRTUAL_PORT=9000

# mysql 使用的是 mysql:5.7 账号 root 密码 root
mysql-base:
    image: 'mysql:5.7'
    environment:
      - MYSQL_ROOT_PASSWORD=root

# redis 使用的是 redis:3.0.3
redis-base:
    image: 'redis:3.0.3'

# 你可以不断的外接服务,比如beanstalkd,mongodb 等,非常的方便