2016-04-01 28 views
2

我有一个为Drupal 8配置的docker文件,但在启动“docker-compose up”之后,一切顺利,但安装了Drupal后,它向我显示“gd” PHP的模块未启用。用于PHP 7的Docker gd模块

这里是我的Dockerfile:

FROM php:7-fpm 
# Install modules 
RUN apt-get update 

RUN apt-get install -y software-properties-common 

RUN DEBIAN_FRONTEND="noninteractive" add-apt-repository ppa:ondrej/php 

RUN apt-get update 

RUN apt-get install -y vim curl wget build-essential software-properties-common git ca-certificates 

RUN apt-get install -y \ 
    libbz2-dev \ 
    libfreetype6-dev \ 
    libjpeg62-turbo-dev \ 
    libpng12-dev \ 
    libxpm-dev \ 
    libvpx-dev \ 
    libmcrypt-dev \ 
    libmemcached-dev \ 
    && \ 

apt-get clean && \ 
    rm -rf /var/lib/apt/lists/* && \ 

docker-php-ext-configure gd \ 
     --with-freetype-dir=/usr/lib/x86_64-linux-gnu/ \ 
     --with-jpeg-dir=/usr/lib/x86_64-linux-gnu/ \ 
     --with-xpm-dir=/usr/lib/x86_64-linux-gnu/ \ 
     --with-vpx-dir=/usr/lib/x86_64-linux-gnu/ \ 
    && \ 

docker-php-ext-install \ 
     bcmath \ 
     bz2 \ 
     exif \ 
     ftp \ 
     gd \ 
     gettext \ 
     mbstring \ 
     mcrypt \ 
     mysqli \ 
     opcache \ 
     pdo_mysql \ 
     shmop \ 
     sockets \ 
     sysvmsg \ 
     sysvsem \ 
     sysvshm \ 
     zip \ 
    && \ 

    pecl install apcu memcached && \ 
    echo 'extension = apcu.so' > /usr/local/etc/php/conf.d/apcu.ini && \ 
    echo 'extension = memcached.so' > /usr/local/etc/php/conf.d/memcached.ini 

我试试这个方法:Error In PHP5 ..Unable to load dynamic library 但是没有用

回答

9

这将帮助你

FROM php:7.0-fpm 
RUN apt-get update && apt-get install -y \ 
     libfreetype6-dev \ 
     libjpeg62-turbo-dev \ 
     libmcrypt-dev \ 
     libpng12-dev \ 
    && docker-php-ext-install -j$(nproc) iconv mcrypt \ 
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 
    && docker-php-ext-install -j$(nproc) gd 
+0

有趣的是,这为我解决了,但我不得不将它添加到入口点。如果我将它作为'Dockerfile'中的'RUN'命令,它根本不起作用...... –

4

也许应该尝试这种

# Install GD 
RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev 
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ 
RUN docker-php-ext-install gd