Docker PHP7 CLI Debian Buster如何安装php-imagick软件包?

时间:2019-08-10 00:18:48

标签: php docker debian imagick debian-buster

我有Debian Buster的PHP-CLI Docker image,想安装php-imagick软件包,但使用命令:

Dockerfile:

RUN apt-get install -y php-imagick

我得到一个错误:

  

软件包php-imagick不可用,但是被另一个引用   包。这可能表示该包裹已丢失,已经   已过时,或者只能从其他来源获得

     

E:软件包“ php-imagick”没有安装候选对象

之前运行:

RUN apt-get update -y && apt-get upgrade -y

没有帮助。

为什么没有php-imagick的候选软件包?
如何为此PHP Docker image安装和启用imagick扩展?

Dockerfile复制问题:

FROM php:7.3-buster

RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install -y php-imagick

构建命令

docker build --tag testimage .

1 个答案:

答案 0 :(得分:1)

除非您有充分的理由不这样做,否则使用https://deb.sury.org/中的软件包可能是个好主意。以下内容似乎起作用:

FROM debian:buster-slim

USER root

# Get Debian up-to-date
RUN apt-get update -qq \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y git \
    mariadb-client wget curl \
    ca-certificates lsb-release apt-transport-https gnupg bsdmainutils

RUN echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee -a /etc/apt/sources.list.d/php.list \
    && curl https://packages.sury.org/php/apt.gpg | apt-key add - \
    && apt-get update -qq \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y php7.3 php7.3-common php7.3-cli \
    php7.3-mysql php7.3-curl php7.3-xml php7.3-mbstring \
    php7.3-intl php7.3-redis php7.3-zip \
    php7.3-imagick supervisor