安裝 GD 擴展時需要額外的依賴和配置,但是官方文檔中只給出了 Debian 系的解決方案。通過查閱網絡資料,得到了 Alpine 下的解決方案,寫成 Dockerfile 如下:
FROM php:7.3.2-fpm-alpine RUN apk add \ freetype \ freetype-dev \ libpng \ libpng-dev \ libjpeg-turbo \ libjpeg-turbo-dev \ && docker-php-ext-configure gd \ --with-freetype-dir=/usr/include/ \ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ && apk del \ freetype-dev \ libpng-dev \ libjpeg-turbo-dev \ \ && rm /var/cache/apk/*
還有找到的
FROM php:5.6-fpm-alpine ENV TIMEZONE Asia/Shanghai ENV PHP_MEMORY_LIMIT 512M ENV MAX_UPLOAD 50M ENV PHP_MAX_FILE_UPLOAD 200 ENV PHP_MAX_POST 100M ADD ./redis /usr/src/php/ext/redis RUN apk --update add tzdata \ libjpeg-turbo-dev \ libpng-dev \ freetype-dev \ && cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \ && echo "${TIMEZONE}" > /etc/timezone RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr --enable-gd-native-ttf --with-jpeg-dir=/usr \ && docker-php-ext-install redis mysqli gd pdo_mysql redis opcache zip RUN mkdir /www \ && apk del tzdata curl \ && rm -rf /var/cache/apk/*