bach 7 месяцев назад
Родитель
Сommit
0d597011c7
3 измененных файлов с 117 добавлено и 18 удалено
  1. 45 16
      Docker/php/Dockerfile
  2. 72 0
      Makefile
  3. 0 2
      docker-compose.yml

+ 45 - 16
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
+
+
+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"]
+
 
-COPY ./bashrc /root/.bashrc
-COPY ./inputrc /root/.inputrc
+# USER ${USER_UNAME}

+ 72 - 0
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

+ 0 - 2
docker-compose.yml

@@ -1,5 +1,3 @@
-version: "3.5"
-
 services:
   mysql:
     image: mariadb:latest