update php and composer builds

This commit is contained in:
2021-01-02 20:36:35 -05:00
parent 2317dccba2
commit 240a2af2d5
5 changed files with 86 additions and 60 deletions

View File

@@ -9,16 +9,6 @@ WORKDIR /opt/project
# this is not needed in prod containers, but is useful for devs # this is not needed in prod containers, but is useful for devs
ENV TERM=xterm 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 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
# php-pgsql php-redis php-soap\
# git \
# \
# && apt-cache pkgnames | grep php7.3 \
# && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer \ && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
&& composer global require franzl/studio\ && composer global require franzl/studio\
@@ -26,3 +16,14 @@ RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& mkdir -p /home/user/.composer && chmod -R 777 /home/user/.composer && mkdir -p /home/user/.composer && chmod -R 777 /home/user/.composer
ENTRYPOINT ["/usr/local/bin/composer"] ENTRYPOINT ["/usr/local/bin/composer"]
RUN apt-get update && apt-get install -y \
# && 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 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
# php-pgsql php-redis php-soap\
unzip \
# \
# && apt-cache pkgnames | grep php7.3 \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \

View File

@@ -1,29 +1,30 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex
docker build --rm -t xaicorp/composer:7.0 . #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 --entrypoint php xaicorp/composer:7.0 --version | grep 'PHP 7.0.'
docker run --rm xaicorp/composer:7.0 --version | grep 'Composer' #docker run --rm xaicorp/composer:7.0 --version | grep 'Composer'
docker tag xaicorp/composer:7.0 dkregistry.xai-corp.net:5000/xaicorp/composer:7.0 #docker tag xaicorp/composer:7.0 dkregistry.xai-corp.net:5000/xaicorp/composer:7.0
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.0 #docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.0
#
#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 tag xaicorp/composer:7.1 dkregistry.xai-corp.net:5000/xaicorp/composer:7.1
#docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.1
docker build --rm -f Dockerfile-71 -t xaicorp/composer:7.1 . #docker build --rm -f Dockerfile-72 -t xaicorp/composer:7.2 .
docker run --rm --entrypoint php xaicorp/composer:7.1 --version | grep 'PHP 7.1.' #docker run --rm --entrypoint php xaicorp/composer:7.2 --version | grep 'PHP 7.2.'
docker run --rm xaicorp/composer:7.1 --version | grep 'Composer' #docker run --rm xaicorp/composer:7.2 --version | grep 'Composer'
docker tag xaicorp/composer:7.1 dkregistry.xai-corp.net:5000/xaicorp/composer:7.1 #docker tag xaicorp/composer:7.2 dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.1 #docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
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'
docker tag xaicorp/composer:7.2 dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
docker build --rm -f Dockerfile-73 -t xaicorp/composer:7.3 . docker build --rm -f Dockerfile-73 -t xaicorp/composer:7.3 .
docker run --rm --entrypoint php xaicorp/composer:7.3 --version | grep 'PHP 7.3.' docker run --rm --entrypoint php xaicorp/composer:7.3 --version | grep 'PHP 7.3.'
docker run --rm --entrypoint php xaicorp/composer:7.3 -mn | grep curl docker run --rm --entrypoint php xaicorp/composer:7.3 -mn | grep curl
docker run --rm --entrypoint git xaicorp/composer:7.3 docker run --rm --entrypoint git xaicorp/composer:7.3 --version | grep 'git version'
docker run --rm --entrypoint unzip xaicorp/composer:7.3 docker run --rm --entrypoint unzip xaicorp/composer:7.3 | grep 'UnZip 6'
docker run --rm xaicorp/composer:7.3 --version | grep 'Composer' docker run --rm xaicorp/composer:7.3 --version | grep 'Composer'
docker tag xaicorp/composer:7.3 dkregistry.xai-corp.net:5000/xaicorp/composer:7.3 docker tag xaicorp/composer:7.3 dkregistry.xai-corp.net:5000/xaicorp/composer:7.3
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.3 docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.3

View File

@@ -1,6 +1,7 @@
# Create a base Ubuntu image to build upon # Create a base Ubuntu image to build upon
# docker build --rm -f Dockerfile-71 -t composer:7.1 . # docker build --rm -f Dockerfile-71 -t composer:7.1 .
FROM ubuntu:16.04 #FROM ubuntu:16.04
FROM php:7.3-fpm as base
MAINTAINER Richard Morgan <r_morgan@sympatico.ca> MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
WORKDIR /opt/project WORKDIR /opt/project
@@ -11,21 +12,22 @@ EXPOSE 9000
# this is not needed in prod containers, but is useful for devs # this is not needed in prod containers, but is useful for devs
ENV TERM=xterm 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.3 php7.3-cli php7.3-fpm php7.3-curl php-pear php7.3-zip php7.3-mbstring php7.3-xml \
php7.3-mysql php7.3-pgsql php7.3-redis \
php-mcrypt php7.3-http\
\
&& apt-cache pkgnames | grep php7.3 \
&& rm /usr/bin/php && ln -s /usr/bin/php7.3 /usr/bin/php \
&& ln -s /usr/sbin/php-fpm7.3 /usr/sbin/php-fpm \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY ./docker-php-fpm.conf /etc/php/7.3/fpm/pool.d/www.conf COPY ./docker-php-fpm.conf /etc/php/7.3/fpm/pool.d/www.conf
CMD ["/usr/sbin/php-fpm7.3", "-F"] ENTRYPOINT ["php-fpm"]
CMD ["-FO"]
ENV DEPS \
libpq-dev \
libzip-dev
RUN apt-get update && apt-get install -y $DEPS
RUN pecl install redis-5.1.1 \
&& pecl install raphf-2.0.1 \
&& docker-php-ext-enable redis raphf
RUN docker-php-ext-configure pgsql \
&& docker-php-ext-install -j$(nproc) pdo pdo_pgsql\
&& docker-php-ext-install -j$(nproc) zip
#php7.3-mcrypt

View File

@@ -2,12 +2,19 @@
FROM xaicorp/php:7.3 FROM xaicorp/php:7.3
MAINTAINER Richard Morgan <r_morgan@sympatico.ca> 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.3/mods-available/xdebug.ini \
# && echo "xdebug.remote_autostart=on" >> /etc/php/7.3/mods-available/xdebug.ini \
# && echo "xdebug.remote_port = 9001" >> /etc/php/7.3/mods-available/xdebug.ini \
# && echo "xdebug.max_nesting_level=300" >> /etc/php/7.3/mods-available/xdebug.ini \
# && echo "xdebug.remote_connect_back=1" >> /etc/php/7.3/mods-available/xdebug.ini \
# && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
php-xdebug \ git \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& echo "xdebug.remote_enable=on" >> /etc/php/7.3/mods-available/xdebug.ini \
&& echo "xdebug.remote_autostart=on" >> /etc/php/7.3/mods-available/xdebug.ini \
&& echo "xdebug.remote_port = 9001" >> /etc/php/7.3/mods-available/xdebug.ini \
&& echo "xdebug.max_nesting_level=300" >> /etc/php/7.3/mods-available/xdebug.ini \
&& echo "xdebug.remote_connect_back=1" >> /etc/php/7.3/mods-available/xdebug.ini \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN pecl install xdebug-2.8.1 \
&& docker-php-ext-enable xdebug

View File

@@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -e
#docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY #docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
build() { build() {
set -x
local version=$1 local version=$1
#build #build
@@ -12,6 +13,7 @@ build() {
#test #test
docker run --rm --entrypoint php xaicorp/php:${version} --version | grep ${version} docker run --rm --entrypoint php xaicorp/php:${version} --version | grep ${version}
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep curl docker run --rm --entrypoint php xaicorp/php:${version} -m | grep curl
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep pdo
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep pgsql docker run --rm --entrypoint php xaicorp/php:${version} -m | grep pgsql
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep redis docker run --rm --entrypoint php xaicorp/php:${version} -m | grep redis
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep mbstring docker run --rm --entrypoint php xaicorp/php:${version} -m | grep mbstring
@@ -19,11 +21,13 @@ build() {
# docker run --rm --entrypoint php xaicorp/php:${version} -m | grep mcrypt # docker run --rm --entrypoint php xaicorp/php:${version} -m | grep mcrypt
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep zip docker run --rm --entrypoint php xaicorp/php:${version} -m | grep zip
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep dom docker run --rm --entrypoint php xaicorp/php:${version} -m | grep dom
docker run --rm --entrypoint php xaicorp/php:${version} -i | grep conf.d/25-http.ini docker run --rm --entrypoint php xaicorp/php:${version} -m | grep json
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep raphf
#register artifact docker run --rm -d --name test-php xaicorp/php:${version} \
docker tag xaicorp/php:${version} dkregistry.xai-corp.net:5000/xaicorp/php:${version} && sleep 3 \
docker push dkregistry.xai-corp.net:5000/xaicorp/php:${version} && docker logs test-php | grep "fpm is running"; \
docker kill test-php
# docker run --rm --entrypoint php xaicorp/php:${version} -i | grep conf.d/25-http.ini #fixme
} }
build_dev() { build_dev() {
@@ -35,6 +39,15 @@ build_dev() {
#test #test
docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep ${version} docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep ${version}
docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep 'Xdebug' docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep 'Xdebug'
docker run --rm --entrypoint git xaicorp/php:${version}-dev --version | grep 'git version'
}
push() {
local version=$1
#register artifact
docker tag xaicorp/php:${version} dkregistry.xai-corp.net:5000/xaicorp/php:${version}
docker push dkregistry.xai-corp.net:5000/xaicorp/php:${version}
#register artifact #register artifact
docker tag xaicorp/php:${version}-dev dkregistry.xai-corp.net:5000/xaicorp/php:${version}-dev docker tag xaicorp/php:${version}-dev dkregistry.xai-corp.net:5000/xaicorp/php:${version}-dev
@@ -61,10 +74,12 @@ trap final EXIT
#build 7.1 #build 7.1
#build_dev 7.1 #build_dev 7.1
build 7.2 #build 7.2
build_dev 7.2 #build_dev 7.2
#push 7.2
build 7.3 build 7.3
build_dev 7.3 build_dev 7.3
push 7.3
exit exit