2

我有一个 Debian Buster 的 PHP-CLI Docker 映像,并且想安装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 映像安装和启用 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 .
4

1 回答 1

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
于 2019-08-12T21:29:38.737 回答