dockerfile 部署PHP程序,使用Dockerfile编写PHP环境

cat dockerfile

#使用php-fpm:5.6基础镜像

FROM php:5.6-fpm

MAINTAINER wfy

#使用apt-get源(docker官方镜像系统大多为debian或者Ubuntu,所以使用apt-get安装)

COPY conf/sources.list /etc/apt/sources.list

#先安装php依赖库和常用命令

RUN apt-get update && apt-get install -y \

supervisor cron nginx \

libmagickwand-dev bzip2 libmemcached-dev \

libfreetype6-dev \

libjpeg62-turbo-dev \

libmcrypt-dev libpng-dev \

iproute net-tools telnet wget curl \

&& apt-get clean && rm -r /var/lib/apt/lists/*

#安装php核心扩展

RUN docker-php-ext-install -j$(nproc) iconv mcrypt

#如果安装的扩展需要自定义配置时

RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \

&& docker-php-ext-install -j$(nproc) gd

#pecl 扩展

RUN docker-php-ext-install bcmath dba exif pdo_mysql bz2 zip mysql

#imagick 扩展

RUN pecl install imagick && docker-php-ext-enable imagick

#memcached 扩展

RUN pecl install memcached-2.2.0 && docker-php-ext-enable memcached

#redis 扩展

RUN pecl install redis-4.3.0 && docker-php-ext-enable redis

#soap 扩展

RUN docker-php-ext-install soap && docker-php-ext-enable soap

#配置文件

#php配置文件

ADD conf/php.ini /usr/local/etc/php/php.ini

ADD conf/php-www.conf /usr/local/etc/php-fpm.d/www.conf

ADD conf/php-docker.conf /usr/local/etc/php-fpm.d/docker.conf

#nginx配置文件

ADD conf/nginx.conf /etc/nginx/nginx.conf

ADD conf/default.conf /etc/nginx/conf.d/default.conf

#crontab配置文件

COPY conf/crontab /var/spool/cron/crontabs/root

RUN chmod 600 /var/spool/cron/crontabs/root

#supervisor配置文件

RUN mkdir -p /var/log/supervisor && mkdir -p /var/log/php

ADD conf/supervisord.conf /etc/supervisor/supervisord.conf

#时区环境变量

ENV TZ=Asia/Shanghai \

LANG=en_US.UTF-8

#开放端口

EXPOSE 80

#启动supervisor服务

CMD ["/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值