我开始学习Docker,现在我正在用PHP7和Apache构建自己的容器。 我必须启用一些PHP扩展,但我想知道如何在安装扩展之前知道应该安装哪些软件包(依赖项)。
目前这是我的Dockerfile:
FROM php:7.0-apache
RUN apt-get update && apt-get install -y libpng-dev
RUN docker-php-ext-install gd
在这种情况下,为了启用gd
扩展程序,我搜索了构建步骤中返回的错误,我发现它需要包libpng-dev
,但是执行这些步骤很烦人我要安装的每个扩展程序。
你如何处理这类问题?
答案 0 :(得分:2)
这个过程确实很烦人,很多事情可以由计算机来完成。幸运的是,有人编写了一个脚本来完全做到这一点:docker php extension installer
您的示例可以写为:
{this.state.show && <CustomActivityIndicator />}
答案 1 :(得分:0)
这是我做的,安装PHP和一些PHP扩展和工具。我通常需要的东西......
# Add the "PHP 7" ppa
RUN add-apt-repository -y \
ppa:ondrej/php
#Install PHP-CLI 7, some PHP extentions and some useful Tools with apt
RUN apt-get update && apt-get install -y --force-yes \
php7.0-cli \
php7.0-common \
php7.0-curl \
php7.0-json \
php7.0-xml \
php7.0-mbstring \
php7.0-mcrypt \
php7.0-mysql \
php7.0-pgsql \
php7.0-sqlite \
php7.0-sqlite3 \
php7.0-zip \
php7.0-memcached \
php7.0-gd \
php7.0-fpm \
php7.0-xdebug \
php7.1-bcmath \
php7.1-intl \
php7.0-dev \
libcurl4-openssl-dev \
libedit-dev \
libssl-dev \
libxml2-dev \
xz-utils \
sqlite3 \
libsqlite3-dev \
git \
curl \
vim \
nano \
net-tools \
pkg-config \
iputils-ping
# remove load xdebug extension (only load on phpunit command)
RUN sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini
答案 2 :(得分:0)
创建自己的Dockerfiles涉及反复试验 - 或者建立和调整其他人的工作。
如果您还没有找到,请查看:https://hub.docker.com/r/chialab/php/
此图片似乎在官方基本影像的顶部添加了扩展程序。如果您不需要此图片中的所有扩展程序,则可以查看此图片的source并根据自己的喜好进行调整。