我有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 .
答案 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