Docker php:fpm-install php扩展

我使用官方的php:fpm docker镜像作为我的应用程序容器的基础,所以Dockerfile启动方式如下:

 FROM php:fpm 

在文件的后面我想要这样的东西:

 RUN apt-get install -y \ php7.0-gd 

但是那告诉我:

 E: Unable to locate package php7.0-gd E: Couldn't find any package by regex 'php7.0-gd' 

»使用docker docker exec -it <name> /bin/bash -it docker exec -it <name> /bin/bash并执行apt-cache search php | grep gd apt-cache search php | grep gd yield:

 php5-gdcm - Grassroots DICOM PHP5 bindings php5-vtkgdcm - Grassroots DICOM VTK PHP bindings php5-gd - GD module for php5 

因此,因为这是一个基于debian(yessie)的图像,只有旧的php5包可用,并且php7由php:fpm dockerfile中的一些棘手的脚本安装,并且它接受所有扩展在所使用的php可执行文件中编译。

如何在这种情况下安装更多的扩展?

引用https://hub.docker.com/_/php/

如何安装更多的PHP扩展

我们提供了帮助程序脚本docker-php-ext-configuredocker-php-ext-installdocker-php-ext-enable以便更轻松地安装PHP扩展。

要使用iconv,mcrypt和GD安装PHP,它们提供了以下示例:

 FROM php:7.0-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng-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 

请参阅Dockerhub页面了解更多详情。