簡體   English   中英

無法在 Docker 容器中安裝依賴於 GD PHP 擴展的作曲家包

[英]Unable to install composer packages dependent on GD PHP extension in Docker Container

我試圖為我的應用程序創建一個 dockerized 網絡。 使用我當前的docker-compose.yml配置,我能夠讓一切正常運行和工作。 我面臨的問題是當我嘗試安裝依賴於 GD 擴展的作曲家包時。 誰能告訴我我的 Dockerfile for PHP 或我的 docker-compose 網絡設置有什么問題?

PHP Dockerfile

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

Docker 編寫 PHP 網絡塊

  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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM