From 0d597011c76f28d48fb1d335a4a61b157c64d101 Mon Sep 17 00:00:00 2001 From: bach Date: Tue, 17 Sep 2024 14:21:57 +0200 Subject: [PATCH] updated php to 8.1 --- Docker/php/Dockerfile | 61 ++++++++++++++++++++++++++---------- Makefile | 72 +++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 2 -- 3 files changed, 117 insertions(+), 18 deletions(-) create mode 100644 Makefile diff --git a/Docker/php/Dockerfile b/Docker/php/Dockerfile index c3cdabd..634aa3c 100644 --- a/Docker/php/Dockerfile +++ b/Docker/php/Dockerfile @@ -1,33 +1,62 @@ -FROM php:7.0-fpm +FROM php:8.1-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng-dev \ - mysql-client \ - zip && \ - docker-php-ext-install -j$(nproc) mcrypt iconv && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + default-mysql-client \ + zip \ + net-tools iproute2 \ + libzip-dev && \ + cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini && \ + # docker-php-ext-install -j$(nproc) iconv && \ + docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \ + apt-get install -y imagemagick libmagickwand-dev && \ + pecl install imagick && docker-php-ext-enable imagick && \ docker-php-ext-install -j$(nproc) gd && \ docker-php-ext-install pdo_mysql zip && \ docker-php-ext-install opcache && \ + docker-php-ext-install bcmath && \ apt-get install -y git vim && \ - pecl install redis-3.1.0 && \ - pecl install xdebug-2.5.0 && \ + pecl install redis-5.3.7 && \ + pecl install xdebug-3.1.3 && \ docker-php-ext-enable redis xdebug RUN export COMPOSER_HOME=/usr/local/composer && \ curl -sS https://getcomposer.org/installer \ - | php -- --install-dir=/usr/local/bin --filename=composer && \ - curl https://drupalconsole.com/installer \ - -L -o /usr/local/bin/drupal && \ - chmod +x /usr/local/bin/drupal && \ - curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar \ - -L -o /usr/local/bin/drush && \ - chmod +x /usr/local/bin/drush + | php -- --install-dir=/usr/local/bin --filename=composer + COPY ./php-custom.ini /usr/local/etc/php/conf.d/php-custom.ini +# COPY ./php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf -COPY ./bashrc /root/.bashrc -COPY ./inputrc /root/.inputrc + +ARG USER_UID +ARG USER_UNAME +ARG USER_GID +ARG USER_GNAME + +RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi &&\ + groupadd -g ${USER_GID} ${USER_GNAME} &&\ + useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME} &&\ + echo ${USER_UNAME}:${USER_UNAME} | chpasswd &&\ + install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME} &&\ + chown --changes --silent --no-dereference --recursive \ + --from=33:33 ${USER_UID}:${USER_GID} \ + /home/${USER_UNAME} + # /.composer \ + # /var/run/php-fpm \ + # /var/lib/php/sessions \ + +COPY ./bashrc /home/${USER_UNAME}/.bashrc +COPY ./inputrc /home/${USER_UNAME}/.inputrc + +# https://stackoverflow.com/questions/36964652/ssh-in-docker-container-causes-http-404 +# use \n to make the content into multiple lines +# RUN printf "whoami\nphp-fpm -D\n/usr/sbin/sshd -D" >> /start.sh +# RUN chmod +x /start.sh +# CMD ["/start.sh"] + + +# USER ${USER_UNAME} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9ae6155 --- /dev/null +++ b/Makefile @@ -0,0 +1,72 @@ +#!/usr/bin/make + +SHELL = /bin/sh + +USER_UID := $(shell id -u) +USER_UNAME := $(shell id -un) +USER_GID := $(shell id -g) +USER_GNAME := $(shell id -gn) + +DATE_NOW := $(shell date '+%Y-%m-%d_%H%M%S') + +export USER_UID +export USER_UNAME +export USER_GID +export USER_GNAME + +build: + docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) + +buildnc: + docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) + +buildsolrnc: + docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) solr-new + +buildphp: + docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) php + +buildphpnc: + docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) php + +up: + docker-compose up -d + +upbuild: + docker-compose up -d --build + +ps: + docker-compose ps + +logs: + docker-compose logs -f + +logs_redis: + docker-compose logs -f redis + +down: + docker-compose down + +restart_redis: + docker-compose restart redis + +restart_php: + docker-compose restart php + +restart_npm : + docker-compose restart npm + +exec_php: + docker exec -it edlpd8-php-1 bash + +exec_npm: + docker exec -it edlpd8-npm-1 sh + +exec_mysql: + docker exec -it edlpd8-mysql-1 bash + +redis: + docker exec -it edlpd8-redis-1 bash + +dump_d8_db: + docker exec edlpd8-mysql-1 sh -c 'exec mysqldump -uroot -pedlp edlp_d8' > ./ressources/edlp-d8-$(DATE_NOW)-local.sql diff --git a/docker-compose.yml b/docker-compose.yml index ee593dd..4e76122 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.5" - services: mysql: image: mariadb:latest