php开发docker环境配置

镜像的创建

Dockerfile

FROM php:5.6-fpm

#安装扩展

#安装oracle扩展需要的文件
COPY ./extensions/oci8 /opt/

RUN \
  apt-get update \
  # 安装源码包里面的扩展
  && docker-php-ext-install -j$(nproc) bcmath pdo_mysql \
  #安装gd库
  # && apt-get install -y libfreetype6-dev libpng-dev libjpeg62-turbo-dev \
  # && docker-php-ext-install -j$(nproc) gd \
  #安装xdebug扩展
  && cd /opt && curl -o xdebug-2.4.0.tgz http://pecl.php.net/get/xdebug-2.4.0.tgz && tar -zxvf xdebug-2.4.0.tgz && cd xdebug-2.4.0 && phpize && ./configure && make && make install &&  docker-php-ext-enable xdebug \
  #安装redis扩展
  && cd /opt && curl -o redis-4.3.0.tgz  http://pecl.php.net/get/redis-4.3.0.tgz && tar -zxvf redis-4.3.0.tgz && cd redis-4.3.0 && phpize && ./configure && make && make install && docker-php-ext-enable redis \
  #安装gearman扩展
  && cd /opt && curl -o gearman-1.1.2.tgz  http://pecl.php.net/get/gearman-1.1.2.tgz && tar -zxvf gearman-1.1.2.tgz && apt-get install -y libgearman-dev && cd gearman-1.1.2 && phpize && ./configure && make && make install && docker-php-ext-enable gearman \
  # && pecl install redis xdebug-2.4.0 && docker-php-ext-enable redis xdebug \
  #安装oracle扩展, 如果不需要请注释掉
  && sh /opt/install-oci8.sh

base镜像选择的是php官方镜像,它提供了docker-php-ext等工具,相当好用

创建容器

启动fpm容器

docker run -d --name php -v /Volumes/work:/code dev/php56

这里没有使用-p指定暴露的端口,为什么呢?

启动nginx容器

docker run -d --name nginx -p 80:80  -v /Volumes/work:/code
 -v /opt/docker/conf/nginx:/etc/nginx/conf.d --link php:php  nginx

之所以fpm容器没有暴露端口是因为,nginx容器链接到了fpm容器
nginx location配置

location ~ \.php($|/) {
        fastcgi_pass               php:9000;
        fastcgi_split_path_info   ^(.+?\.php)(/.+)$;
        fastcgi_param           SCRIPT_FILENAME /code/shopCrm/web/$fastcgi_script_name;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        include                 fastcgi_params;
    }

location的里面php:9000, 因为使用的是link所以可以直接使用php代表fpm的ip地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、准备工作: 使用工具: 1.主流版本的docker,本人使用的是 docker 1.91 版本 2.cento...
    dreamer_lk阅读 2,769评论 1 8
  • 引言 这段时候主攻云服务 服务器 CentOS 文件目录 操作 基本操作: Docker简介: 安装Docker:...
    采香行处蹙连钱阅读 1,215评论 0 1
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 8,902评论 1 21
  • 穆合麦今天87天了。 87天的他会大喊大叫,会跟人咿咿呀呀的对话,别人逗他会笑,会使劲蹬腿,还会举着小拳头摆出向前...
    潺源119阅读 298评论 0 2
  • 一.props验证机制 为组件的props指定验证规格,如果传入的数据不符合规格,Vue会发出警告。1.类型检查(...
    小羊同学啊阅读 677评论 0 0