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-configure
,docker-php-ext-install
和docker-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页面了解更多详情。