Docker中PECL软件包安装失败

4

当在Dockerfile中作为docker的一部分从PECL包管理器安装opencensus-alpha时,会抛出一个错误/bin/sh: pecl: not found

Dockerfile

FROM nginx:1.17.4-alpine

RUN apk --no-cache add php7 php7-fpm php7-mysqli php7-pdo_mysql php7-json php7-openssl php7-curl \
    php7-zlib php7-xml php7-simplexml php7-phar php7-intl php7-dom php7-xmlreader php7-xmlwriter  php7-ctype php7-session \
    php7-mbstring php7-gd php-zip supervisor  libxml2-dev php7-tokenizer

RUN pecl install opencensus-alpha

有没有一种简单的方法可以在docker容器中安装和启用opencensus-alpha

1个回答

4
你需要安装php7-pear软件包以获取pecl命令,并且你需要安装php-devgccmusl-devmake软件包,以便peclphpize能够正确构建和安装其他软件包。
添加一行新的RUN指令:
RUN apk --no-cache add php7-pear php7-dev gcc musl-dev make

或修改您现有的RUN行:

RUN apk --no-cache add php7 php7-fpm php7-mysqli php7-pdo_mysql php7-json php7-openssl php7-curl \
    php7-zlib php7-xml php7-simplexml php7-phar php7-intl php7-dom php7-xmlreader php7-xmlwriter  php7-ctype php7-session \
    php7-mbstring php7-gd php-zip supervisor  libxml2-dev php7-tokenizer php7-pear php7-dev gcc musl-dev make

1
这实际上对于 PHP 8 Alpine 镜像不起作用 - 起作用的是添加以下命令:RUN apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS - Zathrus Writer
1
谢谢,@ZathrusWriter。好知道。 - Karl Wilbur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接