![](/img/trans.png)
[英]dompdf/dompdf v0.7.0 requires ext-gd * -> the requested PHP extension gd is missing, laravel composer-install with docker
[英]Unable to install composer packages dependent on GD PHP extension in Docker Container
我試圖為我的應用程序創建一個 dockerized 網絡。 使用我當前的docker-compose.yml
配置,我能夠讓一切正常運行和工作。 我面臨的問題是當我嘗試安裝依賴於 GD 擴展的作曲家包時。 誰能告訴我我的 Dockerfile for PHP 或我的 docker-compose 網絡設置有什么問題?
FROM php:7.3-alpine
# Install php extensions
RUN apk update && apk add --no-cache postgresql-dev && apk add libzip-dev freetype-dev libjpeg-turbo-dev libpng-dev
RUN docker-php-ext-install pdo pdo_pgsql mbstring zip
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd
# Setup working directory
WORKDIR /var/www/html
php:
build:
context: .
dockerfile: Dockerfile
container_name: ${PROJECT_NAME}-php
volumes:
- ./src:/var/www/html
ports:
- "9001:9000"
networks:
- testNetwork
提前致謝!!
續:當我將 shell 放入正在運行的 docker 容器中時,可以看到加載的 docker-php-extensions。
/usr/local/etc/php/conf.d # ls
docker-php-ext-gd.ini docker-php-ext-pdo_pgsql.ini docker-php-ext-sodium.ini docker-php-ext-zip.ini
/usr/local/etc/php/conf.d #
最簡單的方法是 github 上的這個很棒的項目,輕松替換:
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/
RUN install-php-extensions gd
與您的Dockerfile
的 php 擴展安裝部分。
編輯:
您還可以在任何 docker 容器上安裝 composer,就像粘貼一樣簡單:
COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN apt-get install -y openssl zip unzip git libonig-dev libxml2-dev libpng-dev libjpeg-dev libfreetype6-dev libonig-dev curl mcrypt gnupg build-essential software-properties-common wget vim libwebp-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-webp-dir=/usr/include/ --with-jpeg-dir=/usr/include
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml bcmath opcache pcntl intl soap exif gd
嘗試使用上面的代碼片段,對於 gd 有 php-ext-configure install 並安裝一些 libpng-dev 之類的庫
希望對你有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.