LaravelをローカルのDockerで動かしていて、
画像の圧縮しようとしたときにつまずいたのでメモ。
エラー
GD Library extension not available with this PHP installation.
PHPのGDライブラリが使用できないらしい。
早速Dockerfileを編集
結論だけ言うと、このようなDockerfileになりました
FROM php:7.4-fpm
COPY php.ini /usr/local/etc/php/
RUN apt-get update \
&& apt-get install -y wget git unzip libzip-dev libpq-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
&& docker-php-ext-install zip pdo_mysql \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd
#Composer install
COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV PATH $PATH:/composer/vendor/bin
WORKDIR /var/www
RUN composer global require "laravel/installer"
Dockerfileの変更を反映
イメージ:再構築の必要あり:docker-compose build
コンテナ:再構築の必要あり:docker-compose up -d
無事にエラーが出なくなりました。