FROM php:8.1-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng-dev \ 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-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 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"] # USER ${USER_UNAME}