Docker 安装内存缓存

Docker install memcached

我正在尝试在 Dockerfile 中安装 memcached,但我一直收到同样的错误。一切正常,但看起来有些层已被缓存,并且图像正在构建,没有任何问题。但是由于我清除了缓存,所以我无法构建图像。以下是部分内容:

FROM php:5-apache

RUN apt-get install -y libmemcached11 libmemcachedutil2 build-essential libmemcached-dev libz-dev
RUN pecl install memcached
RUN echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini

安装了许多其他东西,但正如我所说,之前一切正常。错误是 memcached 需要 php7 到 运行。我不知道最近构建的库是否发生了变化,但看起来它拒绝与 php5 一起工作。这是错误:

pecl/memcached requires PHP (version >= 7.0.0), installed version is 5.6.30
pecl/memcached can optionally use PHP extension "igbinary" (version >= 2.0)
pecl/memcached can optionally use PHP extension "msgpack" (version >= 2.0)
No valid packages found
install failed
The command '/bin/sh -c pecl install memcached' returned a non-zero code: 1

PECL memcached 包在 3.0.0 版本中引入了对 PHP 7 的依赖。您仍然可以安装该软件包的 2.x 版本:

FROM php:5-apache

RUN apt-get update && apt-get install -y libmemcached11 libmemcachedutil2 build-essential libmemcached-dev libz-dev
RUN pecl install memcached-2.2.0
RUN echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini