我在 Docker 上安装 imagick php 时是否遗漏了某个步骤?

我在 Docker 上安装 imagick php 时是否遗漏了某个步骤?

我在运行 PHP5.x 的容器的 Dockerfile 中有以下内容:

RUN apt-get install -y php5-imagick libmagickwand-dev libmagickcore-dev
RUN pecl install imagick
RUN echo "extension=`php -i | grep ^extension_dir | cut -f 3 -d ' '`/imagick.so" >> /usr/local/etc/php/conf.d/xdebug.ini

容器的构建过程没有提供任何投诉。当我运行容器后查看 phpinfo() 输出时,没有提到 imagick。

我是否遗漏了某个明显的步骤?

为什么这会默默地失败?

(这是在包含运行 nginx 的上游容器的群上下文中。)

答案1

这个问题的答案在于我的群体的建立方式。

我的 docker-compose.yml 文件一直告诉 swarm 使用我的本地 Dockerfile 作为允许本地 cli 访问的容器,但它通过另一个容器运行 php 服务。添加一个“build”属性(包括“context”和“dockerfile”子属性),将相关容器指向该本地 Dockerfile,解决了该问题。

相关内容