Page MenuHomeDevCentral

No OneTemporary

diff --git a/Dockerfile b/Dockerfile
index 9dd759a..825df45 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,104 +1,102 @@
#
# Nasqueron - Base nginx / php-fpm image
#
FROM debian:jessie
MAINTAINER Sébastien Santoro aka Dereckson <dereckson+nasqueron-docker@espace-win.org>
#
# Prepare the container
#
ENV PHP_VERSION 7.2.4
ENV PHP_EXTRA_CONFIGURE_ARGS --enable-fpm --with-fpm-user=app --with-fpm-group=app
ENV PHP_INI_DIR /usr/local/etc/php
ENV PHP_BUILD_DEPS bzip2 \
file \
libbz2-dev \
libcurl4-openssl-dev \
libjpeg-dev \
- libmcrypt-dev \
libpng12-dev \
libreadline6-dev \
libssl-dev \
libxslt1-dev \
libxml2-dev
ENV LANG C.UTF-8
RUN apt-get update && apt-get install -y ca-certificates curl libxml2 autoconf \
libedit-dev libsqlite3-dev xz-utils \
gcc libc-dev make pkg-config nginx-full \
runit nano less tmux wget git locales \
$PHP_BUILD_DEPS $PHP_EXTRA_BUILD_DEPS \
--no-install-recommends && rm -r /var/lib/apt/lists/* \
&& dpkg-reconfigure locales
RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \
B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F \
1729F83938DA44E27BA0F4D3DBDB397470D12172 \
&& mkdir -p $PHP_INI_DIR/conf.d \
&& set -x \
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2/from/this/mirror" -o php.tar.bz2 \
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2.asc/from/this/mirror" -o php.tar.bz2.asc \
&& gpg --verify php.tar.bz2.asc \
&& mkdir -p /usr/src/php \
&& tar -xof php.tar.bz2 -C /usr/src/php --strip-components=1 \
&& rm php.tar.bz2* \
&& cd /usr/src/php \
&& export CFLAGS="-fstack-protector-strong -fpic -fpie -O2" \
&& export CPPFLAGS="$CFLAGS" \
&& export LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -pie" \
&& ./configure \
--with-config-file-path="$PHP_INI_DIR" \
--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
$PHP_EXTRA_CONFIGURE_ARGS \
--disable-cgi \
--enable-mysqlnd \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-gd \
--with-jpeg-dir \
--enable-ftp \
--with-libedit \
--enable-mbstring \
- --with-mcrypt \
--with-mysqli \
--with-pdo-mysql \
--enable-pcntl \
--with-openssl \
--with-xsl \
--with-readline \
--with-zlib \
--enable-zip \
&& make -j"$(nproc)" \
&& make install \
&& { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false $buildDeps \
&& make clean \
&& pecl install APCu \
&& cd /opt \
&& curl -sS https://getcomposer.org/installer | php \
&& ln -s /opt/composer.phar /usr/local/bin/composer
RUN groupadd -r app -g 433 && \
mkdir /home/app && \
mkdir -p /var/wwwroot/default && \
useradd -u 431 -r -g app -d /home/app -s /usr/sbin/nologin -c "Docker image user for web application" app && \
chown -R app:app /home/app /var/wwwroot/default && \
chmod 700 /home/app && \
chmod 711 /var/wwwroot/default
COPY files /
#
# Docker properties
#
VOLUME ["/var/wwwroot/default", "/etc/nginx"]
EXPOSE 80
EXPOSE 443
CMD ["/usr/local/sbin/runsvdir-init"]
diff --git a/README.md b/README.md
index 4cf5fb4..232eada 100644
--- a/README.md
+++ b/README.md
@@ -1,59 +1,59 @@
# Nginx, php-fpm and runit base image
## Description
Out of the box, this image offers a working nginx and php-fpm webserver.
This image is intended to allow to run a PHP application either passing
a PHP application folder webroot as argument, either writing a Dockerfile
with `nasqueron/nginx-php7-fpm` image as base image.
Your web directory — if you don't add vhosts — is
`/var/wwwroot/default` (mounted as volume).
The PHP last 7.1 version is compiled through a build process borrowed from
the official PHP Docker image, with [this Dockerfile used](https://github.com/docker-library/php/blob/08bf31dfd492f02a2696c9a30eb85326b1570abd/5.6/fpm/Dockerfile).
We add common extensions like calendar, curl, gd, iconv, libxml, mbstring,
-mcrypt, mysqli, PDO MySQL and pcntl. The Pear, PECL executables and utilities
+mysqli, PDO MySQL and pcntl. The Pear, PECL executables and utilities
(including build stuff like phpize) are available too.
Once running, you can quickly add PHP extensions to this image,
with `docker-php-ext-configure` and `docker-php-ext-install` scripts.
Nginx is installed through the [nginx-full Debian package](https://wiki.debian.org/Nginx).
SSL is ready if needed at the container level (we expose ports 80 and 443).
Services are managed by [runit](http://smarden.org/runit/) in `/etc/service` directory.
## How to use it
To rebuild this image:
docker build --tag nasqueron/nginx-php7-fpm .
To rebuild a fork of this image based on a modified Dockerfile:
docker build --tag your-image-name-tag .
To launch a container to execute a PHP application in /data/awesome-php-app
with http://localhost:8080 as address:
docker run -d -v /data/awesome-php-app:/var/wwwroot/default -p 8080:80 nasqueron/nginx-php7-fpm
To create an image for an application with thisas base, create a Dockerfile:
FROM nasqueron/docker-nginx-php7-fpm
# Debian commands to deploy your application code
# If you need other processes, adds a /etc/service/<service name>/run file
That's it.
## How to upgrade this image?
As noted in https://devcentral.nasqueron.org/T787 we need to sync files and novolume/files.
For that, you can use our helper Makefile:
```
cd novolume
make update
```
diff --git a/novolume/Dockerfile b/novolume/Dockerfile
index 5a4d8fa..e8e1118 100644
--- a/novolume/Dockerfile
+++ b/novolume/Dockerfile
@@ -1,102 +1,100 @@
#
# Nasqueron - Base nginx / php-fpm image
#
FROM debian:jessie
MAINTAINER Sébastien Santoro aka Dereckson <dereckson+nasqueron-docker@espace-win.org>
#
# Prepare the container
#
ENV PHP_VERSION 7.2.4
ENV PHP_EXTRA_CONFIGURE_ARGS --enable-fpm --with-fpm-user=app --with-fpm-group=app
ENV PHP_INI_DIR /usr/local/etc/php
ENV PHP_BUILD_DEPS bzip2 \
file \
libbz2-dev \
libcurl4-openssl-dev \
libjpeg-dev \
- libmcrypt-dev \
libpng12-dev \
libreadline6-dev \
libssl-dev \
libxslt1-dev \
libxml2-dev
ENV LANG C.UTF-8
RUN apt-get update && apt-get install -y ca-certificates curl libxml2 autoconf \
libedit-dev libsqlite3-dev xz-utils \
gcc libc-dev make pkg-config nginx-full \
runit nano less tmux wget git locales \
$PHP_BUILD_DEPS $PHP_EXTRA_BUILD_DEPS \
--no-install-recommends && rm -r /var/lib/apt/lists/* \
&& dpkg-reconfigure locales
RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \
B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F \
1729F83938DA44E27BA0F4D3DBDB397470D12172 \
&& mkdir -p $PHP_INI_DIR/conf.d \
&& set -x \
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2/from/this/mirror" -o php.tar.bz2 \
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2.asc/from/this/mirror" -o php.tar.bz2.asc \
&& gpg --verify php.tar.bz2.asc \
&& mkdir -p /usr/src/php \
&& tar -xof php.tar.bz2 -C /usr/src/php --strip-components=1 \
&& rm php.tar.bz2* \
&& cd /usr/src/php \
&& export CFLAGS="-fstack-protector-strong -fpic -fpie -O2" \
&& export CPPFLAGS="$CFLAGS" \
&& export LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -pie" \
&& ./configure \
--with-config-file-path="$PHP_INI_DIR" \
--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
$PHP_EXTRA_CONFIGURE_ARGS \
--disable-cgi \
--enable-mysqlnd \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-gd \
--with-jpeg-dir \
--enable-ftp \
--with-libedit \
--enable-mbstring \
- --with-mcrypt \
--with-mysqli \
--with-pdo-mysql \
--enable-pcntl \
--with-openssl \
--with-xsl \
--with-readline \
--with-zlib \
--enable-zip \
&& make -j"$(nproc)" \
&& make install \
&& { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false $buildDeps \
&& make clean \
&& pecl install APCu \
&& cd /opt \
&& curl -sS https://getcomposer.org/installer | php \
&& ln -s /opt/composer.phar /usr/local/bin/composer
RUN groupadd -r app -g 433 && \
mkdir /home/app && \
mkdir -p /var/wwwroot/default && \
useradd -u 431 -r -g app -d /home/app -s /usr/sbin/nologin -c "Docker image user for web application" app && \
chown -R app:app /home/app /var/wwwroot/default && \
chmod 700 /home/app && \
chmod 711 /var/wwwroot/default
COPY files /
#
# Docker properties
#
EXPOSE 80
EXPOSE 443
CMD ["/usr/local/sbin/runsvdir-init"]

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jan 28, 08:38 (6 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2367262
Default Alt Text
(8 KB)

Event Timeline