Docker (Dockerfile)

Dockerfile

Categoria: Miscelânea

Software: Docker

[ Hits: 1.246 ]

Por: Jackson Veroneze


Arquivo para realizar build de uma imagem do docker.

Estou usando a mesma em um ambiente de desenvolvimento, diariamente.

Tentei deixar o mais otimizada possível, agrupando os comandos para reduzir o número de camadas.

Features
Nginx
PHP-FPM
X-Debug
Virtual host com SSL

Obs.: os arquivos mencionados no arquivo estão em:  https://github.com/jacksonveroneze/docker-php-nginx


FROM debian

MAINTAINER Jackson Veroneze <jackson@jacksonveroneze.com>

ENV DEBIAN_FRONTEND noninteractive

RUN export TERM=xterm \
    && export XDEBUG_CONFIG="idekey=dbgp" \
    && echo "export TERM=xterm" >> /root/.bashrc \
    && echo "export XDEBUG_CONFIG=\"idekey=dbgp\"" >> /root/.bashrc \
    && apt-get update \
    && apt-get upgrade -y \
    && apt-get dist-upgrade -y \
    && apt-get install -y \
    curl \
    git \
    nginx \
    net-tools \
    nano \
    php5-dev \
    php5-cli \
    php5-intl \
    php-soap \
    php5-json \
    php5-curl \
    php5-fpm \
    php-pear \
    php5-gd \
    php5-pgsql \
    php5-mysql \
    php5-mcrypt \
    php5-memcached \
    php5-memcache \
    php5-xdebug \
    php5-ldap \
    php5-imagick \
    && apt-get autoremove -y \
    && apt-get clean \
    && apt-get autoclean

RUN sed -i "s/;date.timezone =/date.timezone = America\/Sao_Paulo/" /etc/php5/cli/php.ini \
    && sed -i "s/;date.timezone =/date.timezone = America\/Sao_Paulo/" /etc/php5/fpm/php.ini \
    && sed -i "s/short_open_tag = On/short_open_tag = Off/" /etc/php5/cli/php.ini \
    && sed -i "s/short_open_tag = On/short_open_tag = Off/" /etc/php5/fpm/php.ini \
    && sed -i "s/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/error_reporting = E_ALL/" /etc/php5/cli/php.ini \
    && sed -i "s/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/error_reporting = E_ALL/" /etc/php5/fpm/php.ini \
    && sed -i "s/display_errors = Off/display_errors = On/" /etc/php5/cli/php.ini \
    && sed -i "s/display_errors = Off/display_errors = On/" /etc/php5/fpm/php.ini \
    && sed -i "s/display_startup_errors = Off/display_startup_errors = On/" /etc/php5/cli/php.ini \
    && sed -i "s/display_startup_errors = Off/display_startup_errors = On/" /etc/php5/fpm/php.ini \
    && sed -i "s/log_errors = Off/log_errors = On/" /etc/php5/cli/php.ini \
    && sed -i "s/log_errors = Off/log_errors = On/" /etc/php5/fpm/php.ini \
    && sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 5000M/" /etc/php5/cli/php.ini \
    && sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 5000M/" /etc/php5/fpm/php.ini \
    && sed -i "s/post_max_size = 8M/post_max_size = 5000M/" /etc/php5/cli/php.ini \
    && sed -i "s/post_max_size = 8M/post_max_size = 5000M/" /etc/php5/fpm/php.ini \
    && sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php5/fpm/php.ini \
    && sed -i "s/;listen.allowed_clients = 127.0.0.1/listen.allowed_clients = 0.0.0.0/" /etc/php5/fpm/pool.d/www.conf

RUN adduser --disabled-password --gecos '' www \
    && rm /etc/nginx/sites-available/default && rm /etc/nginx/sites-enabled/default \
    && mkdir /etc/nginx/ssl/ \
    && rm /etc/php5/mods-available/xdebug.ini

ADD default /etc/nginx/sites-available/

ADD xdebug.ini /etc/php5/mods-available

ADD nginx.crt /etc/nginx/ssl/

ADD nginx.key /etc/nginx/ssl/

RUN ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

EXPOSE 80 443
  


Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts