次のようなビルドコマンドを持つDockerfile
があります。
#install some base extensions
RUN apt-get install -y \
zlib1g-dev \
Zip \
&& docker-php-ext-install Zip
私はビルド出力からこの警告を受け取ります:
警告:バンドルされたlibzipの使用は非推奨であり、削除されます。
configure:警告:暗号化やbzip2などの一部の機能は利用できません。
configure:警告:システムライブラリを使用し、-with-libzipを推奨します。
これらの警告なしでZip拡張機能をインストールする正しい方法は何ですか?
私の完全なDockerfileは次のようになります。
FROM php:7.2-Apache
RUN apt-get clean
RUN apt-get update
#install some basic tools
RUN apt-get install -y \
git \
tree \
vim \
wget \
Subversion
#install some base extensions
RUN apt-get install -y \
zlib1g-dev \
Zip \
&& docker-php-ext-install Zip
#setup composer
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/ \
&& ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
WORKDIR /var/www/
それ のように見える PHPもはやバンドルしていません libzip 。 それをインストールする が必要です。zlib1g-dev
が、代わりにlibzip-dev
。これにより、zlib1g-dev
を依存関係として使用し、configure
スクリプトがlibzip
がインストールされていることを検出できるようにします。
その後、する必要があります
docker-php-ext-configure Zip --with-libzip
でインストールを実行する前に
docker-php-ext-install Zip
最後の警告が示すように。
つまり、Dockerfileの関連部分を次のように変更します。
#install some base extensions
RUN apt-get install -y \
libzip-dev \
Zip \
&& docker-php-ext-configure Zip --with-libzip \
&& docker-php-ext-install Zip
これが期待どおりにビルドされることを確認しました。