# ------------------------------------------------------------
# Dockerfile
# ------------------------------------------------------------
FROM php:8.3.27-fpm-alpine
# ------------------------------------------------------------
# Install runtime + build dependencies
# ------------------------------------------------------------
RUN apk update && apk add --no-cache \
bzip2-dev libxml2-dev freetype-dev libjpeg-turbo-dev libpng-dev giflib-dev \
enchant2-dev libffi-dev gmp-dev icu-dev openldap-dev libpq-dev net-snmp-dev \
tidyhtml-dev libxslt-dev libzip-dev zlib-dev sqlite-dev imagemagick-dev \
autoconf make g++ bash $PHPIZE_DEPS \
&& docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/
# ------------------------------------------------------------
# Build core PHP extensions
# ------------------------------------------------------------
RUN docker-php-ext-install -j$(nproc) gd
RUN docker-php-ext-install -j$(nproc) bcmath
RUN docker-php-ext-install -j$(nproc) bz2
RUN docker-php-ext-install -j$(nproc) calendar
RUN docker-php-ext-install -j$(nproc) exif
RUN docker-php-ext-install -j$(nproc) dba
RUN docker-php-ext-install -j$(nproc) dom
RUN docker-php-ext-install -j$(nproc) enchant
RUN docker-php-ext-install -j$(nproc) fileinfo
RUN docker-php-ext-install -j$(nproc) ftp
RUN docker-php-ext-install -j$(nproc) ffi
RUN docker-php-ext-install -j$(nproc) gettext
RUN docker-php-ext-install -j$(nproc) gmp
RUN docker-php-ext-install -j$(nproc) intl
RUN docker-php-ext-install -j$(nproc) ldap
RUN docker-php-ext-install -j$(nproc) mysqli pdo_mysql
RUN docker-php-ext-install -j$(nproc) pcntl
RUN docker-php-ext-install -j$(nproc) pdo_pgsql pgsql
RUN docker-php-ext-install -j$(nproc) shmop
RUN docker-php-ext-install -j$(nproc) snmp
RUN docker-php-ext-install -j$(nproc) soap
RUN docker-php-ext-install -j$(nproc) sockets
RUN docker-php-ext-install -j$(nproc) sysvmsg sysvsem sysvshm
RUN docker-php-ext-install -j$(nproc) tidy
RUN docker-php-ext-install -j$(nproc) xsl
RUN docker-php-ext-install -j$(nproc) zip
# ------------------------------------------------------------
# Build and enable PECL extensions
# ------------------------------------------------------------
RUN pecl install imagick redis
RUN docker-php-ext-enable imagick redis
# Install Composer globally
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# ------------------------------------------------------------
# Clean up build deps and cache
# ------------------------------------------------------------
RUN apk add --no-cache binutils && strip /usr/local/bin/php && apk del binutils
RUN apk del autoconf make g++ $PHPIZE_DEPS && rm -rf /var/cache/apk/* /tmp/pear ~/.pearrc
# ------------------------------------------------------------
# Final container setup
# ------------------------------------------------------------
WORKDIR /var/www/html
EXPOSE 9000
CMD ["php-fpm"]
# ------------------------------------------------------------
# docker-compose.yml
# ------------------------------------------------------------
services:
nginx:
image: nginx:stable-alpine
container_name: nginx
ports:
- "8080:80"
volumes:
- ./htdocs:/var/www/html:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
environment:
TZ: Asia/Kuala_Lumpur
depends_on:
- php8
php8:
image: activehack/pb-php8:v1
container_name: php8
volumes:
- /my/application/source/htdocs:/var/www/html:rw
environment:
TZ: Asia/Kuala_Lumpur
---
✅ Notes:
- Source: https://pastebin.com/raw/JHXuPKYJ
Content type
Image
Digest
sha256:33975b524…
Size
216.1 MB
Last updated
11 months ago
docker pull activehack/php8