Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. andrefauth created this gist Feb 9, 2018.
    85 changes: 85 additions & 0 deletions Dockerfile Alpine + supervisord + nginx + php7.1 + phalcon 3x
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,85 @@
    FROM alpine:3.7

    RUN echo 'http://dl-4.alpinelinux.org/alpine/edge/community/' >> /etc/apk/repositories

    ENV PYTHON_VERSION=2.7.14-r2
    ENV PY_PIP_VERSION=9.0.1-r1
    ENV SUPERVISOR_VERSION=3.3.1
    ENV NGINX_VERSION=1.12.2-r3

    RUN mkdir /www && mkdir /www/myapp/
    ADD src/ /www/myapp/

    RUN \
    apk add --update nginx=$NGINX_VERSION \
    python=$PYTHON_VERSION \
    py-pip=$PY_PIP_VERSION \
    nano \
    php7 \
    php7-dev \
    php7-curl \
    php7-fpm \
    php7-gd \
    php7-intl \
    php7-json \
    php7-mbstring \
    php7-mcrypt \
    php7-memcached \
    php7-mysqli \
    php7-pdo \
    php7-pdo_mysql \
    php7-xdebug \
    php7-xml \
    php7-zip \
    php7-xsl \
    php7-redis \
    php7-opcache \
    php7-phar \
    php7-xmlwriter \
    php7-tokenizer \
    php7-simplexml \
    php7-ctype \
    tzdata \
    ca-certificates \
    git autoconf \
    file \
    g++ \
    gcc \
    libc-dev \
    make \
    pkgconf \
    re2c \
    libtool \
    check \
    check-dev \
    cyrus-sasl-dev \
    libsodium-dev \
    libssh2-dev \
    imagemagick-dev \
    yaml-dev \
    curl && \
    mkdir -p /tmp/nginx/client-body && \
    pip install supervisor==$SUPERVISOR_VERSION && \
    cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime && \
    echo "America/Sao_Paulo" > /etc/timezone && \
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
    update-ca-certificates && \
    cd ~ && git clone --depth=1 -b 3.3.x git://github.com/phalcon/cphalcon.git && \
    cd ~/cphalcon/build && \
    ./install && \
    echo "extension=phalcon.so" > /etc/php7/conf.d/50-phalcon.ini && \
    rm -rf ~/cphalcon && \
    apk del git autoconf openssl-dev make m4 perl g++ gcc \
    libc-dev check-dev cyrus-sasl-dev libsodium-dev \
    musl-dev libssh2-dev yaml-dev imagemagick-dev zlib-dev tzdata php7-dev && \
    rm -rf /var/cache/apk/*

    ADD docker/php/hyper.sh/ /etc/php7/php-fpm.d/
    ADD docker/php/php.ini /etc/php7/php.ini
    ADD docker/nginx/default/nginx.conf /etc/nginx/nginx.conf
    ADD docker/nginx/hyper.sh/myapp.conf /etc/nginx/conf.d/default.conf
    ADD docker/supervisor/supervisor.conf /etc/supervisor.conf

    RUN cd /www/myapp; composer install

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