rework the composer and php images

This commit is contained in:
2018-04-19 21:43:57 -04:00
parent cfa19949b6
commit 0b2af71162
10 changed files with 79 additions and 6 deletions

View File

@@ -17,6 +17,7 @@ RUN apt-get update && apt-get install -y software-properties-common python-softw
php-pgsql php-redis \
\
&& apt-cache pkgnames | grep php7.1 \
&& rm /usr/bin/php && ln -s /usr/bin/php7.1 /usr/bin/php \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer

View File

@@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y software-properties-common python-softw
php7.2 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
php-pgsql php-redis \
\
&& apt-cache pkgnames | grep php7.1 \
&& apt-cache pkgnames | grep php7.2 \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer

View File

@@ -2,5 +2,13 @@
docker build --rm -t xaicorp/composer:7.0 .
docker run --rm --entrypoint php xaicorp/composer:7.0 --version | grep 'PHP 7.0.'
docker run --rm xaicorp/composer:7.0 --version | grep 'Composer'
docker build --rm -f Dockerfile-71 -t xaicorp/composer:7.1 .
docker run --rm --entrypoint php xaicorp/composer:7.1 --version | grep 'PHP 7.1.'
docker run --rm xaicorp/composer:7.1 --version | grep 'Composer'
docker build --rm -f Dockerfile-72 -t xaicorp/composer:7.2 .
docker run --rm --entrypoint php xaicorp/composer:7.2 --version | grep 'PHP 7.2.'
docker run --rm xaicorp/composer:7.2 --version | grep 'Composer'

View File

@@ -20,4 +20,4 @@ RUN apt-get update && apt-get install -y \
COPY ./docker-php-fpm.conf /etc/php/7.0/fpm/pool.d/www.conf
ENTRYPOINT ["/usr/sbin/php-fpm7.0", "-F"]
CMD ["/usr/sbin/php-fpm7.0", "-F"]

View File

@@ -15,13 +15,13 @@ RUN apt-get update && apt-get install -y software-properties-common python-softw
&& LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
&& apt-get update && apt-get install -y \
curl nano sed libwww-perl htop ca-certificates \
php7.1 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
php7.1 php7.1-cli php7.1-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
php-pgsql php-redis \
\
&& apt-cache pkgnames | grep php7.1 \
&& rm /usr/bin/php && ln -s /usr/bin/php7.1 /usr/bin/php \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY ./docker-php-fpm.conf /etc/php/7.1fpm/pool.d/www.conf
ENTRYPOINT ["/usr/sbin/php-fpm7.1", "-F"]
CMD ["/usr/sbin/php-fpm7.1", "-F"]

View File

@@ -0,0 +1,27 @@
# Create a base Ubuntu image to build upon
# docker build --rm -f Dockerfile-71 -t composer:7.1 .
FROM ubuntu:16.04
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
WORKDIR /opt/project
EXPOSE 9000
# set terminal variable so that tools such as nano and htop work
# this is not needed in prod containers, but is useful for devs
ENV TERM=xterm
RUN apt-get update && apt-get install -y software-properties-common python-software-properties \
&& LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
&& apt-get update && apt-get install -y \
curl nano sed libwww-perl htop ca-certificates \
php7.2 php7.2-cli php7.2-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
php-pgsql php-redis \
\
&& apt-cache pkgnames | grep php7.2 \
&& rm /usr/bin/php && ln -s /usr/bin/php7.2 /usr/bin/php \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY ./docker-php-fpm.conf /etc/php/7.2fpm/pool.d/www.conf
CMD ["/usr/sbin/php-fpm7.2", "-F"]

View File

@@ -0,0 +1,13 @@
# Create a base Ubuntu image to build upon
FROM xaicorp/php:7.2
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
RUN apt-get update && apt-get install -y \
php-xdebug \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& echo "xdebug.remote_enable=on" >> /etc/php/7.2/mods-available/xdebug.ini \
&& echo "xdebug.remote_autostart=on" >> /etc/php/7.2/mods-available/xdebug.ini \
&& echo "xdebug.remote_port = 9001" >> /etc/php/7.2/mods-available/xdebug.ini \
&& echo "xdebug.max_nesting_level=300" >> /etc/php/7.2/mods-available/xdebug.ini \
&& echo "xdebug.remote_connect_back=1" >> /etc/php/7.2/mods-available/xdebug.ini \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@@ -2,6 +2,18 @@
docker build --rm -f Dockerfile-70 -t xaicorp/php:7.0 .
docker build --rm -f Dockerfile-70-dev -t xaicorp/php:7.0-dev .
docker run --rm --entrypoint php xaicorp/php:7.0 --version | grep 'PHP 7.0.'
docker run --rm --entrypoint php xaicorp/php:7.0-dev --version | grep 'PHP 7.0.'
docker run --rm --entrypoint php xaicorp/php:7.0-dev --version | grep 'Xdebug'
docker build --rm -f Dockerfile-71 -t xaicorp/php:7.1 .
docker build --rm -f Dockerfile-71-dev -t xaicorp/php:7.1-dev .
docker run --rm --entrypoint php xaicorp/php:7.1 --version | grep 'PHP 7.1.'
docker run --rm --entrypoint php xaicorp/php:7.1-dev --version | grep 'PHP 7.1.'
docker run --rm --entrypoint php xaicorp/php:7.1-dev --version | grep 'Xdebug'
docker build --rm -f Dockerfile-72 -t xaicorp/php:7.2 .
docker build --rm -f Dockerfile-72-dev -t xaicorp/php:7.2-dev .
docker run --rm --entrypoint php xaicorp/php:7.2 --version | grep 'PHP 7.2.'
docker run --rm --entrypoint php xaicorp/php:7.2-dev --version | grep 'PHP 7.2.'
docker run --rm --entrypoint php xaicorp/php:7.2-dev --version | grep 'Xdebug'