我是靠谱客的博主 无语御姐,最近开发中收集的这篇文章主要介绍Dockerfile 文件: docker build制作镜像时,出现pecl not found,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题复现:
官方给出的扩展安装地址https://github.com/hyperf/hyperf-docker

RUN apk add --no-cache librdkafka-dev 
&& pecl install rdkafka 
&& echo "extension=rdkafka.so" > /etc/php7/conf.d/rdkafka.ini

以上代码加入到Dockerfile中,重新build会报错

/bin/sh: pecl: not found

解决方法:

在https://github.com/codecasts/php-alpine/tree/master/scripts/v3.12/php-7.4找到对应的扩展,直接
将目录名加入到Dockerfile中解决
RUN set -ex 
    && apk add php7-mongodb

在这里插入图片描述

# Default Dockerfile
#
# @link     https://www.hyperf.io
# @document https://hyperf.wiki
# @contact  group@hyperf.io
# @license  https://github.com/hyperf/hyperf/blob/master/LICENSE

FROM hyperf/hyperf:7.4-alpine-v3.11-swoole
LABEL maintainer="Hyperf Developers <group@hyperf.io>" version="1.0" license="MIT" app.name="Hyperf"

##
# ---------- env settings ----------
##
# --build-arg timezone=Asia/Shanghai
ARG timezone

ENV TIMEZONE=${timezone:-"Asia/Shanghai"} 
    APP_ENV=prod 
    SCAN_CACHEABLE=(true)

# update
RUN set -ex 
    # show php version and extensions
    && php -v 
    && php -m 
    && php --ri swoole 
    #  ---------- some config ----------
    && cd /etc/php7 
    # - config PHP
    && { 
        echo "upload_max_filesize=128M"; 
        echo "post_max_size=128M"; 
        echo "memory_limit=1G"; 
        echo "date.timezone=${TIMEZONE}"; 
    } | tee conf.d/99_overrides.ini 
    # - config timezone
    && ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime 
    && echo "${TIMEZONE}" > /etc/timezone 
    # ---------- clear works ----------
    && rm -rf /var/cache/apk/* /tmp/* /usr/share/man 
    && echo -e "33[42;37m Build Completed :).33[0mn"

RUN set -ex 
    && apk add php7-mongodb

WORKDIR /opt/www

# Composer Cache
# COPY ./composer.* /opt/www/
# RUN composer install --no-dev --no-scripts

COPY . /opt/www
RUN composer install --no-dev -o && php bin/hyperf.php

EXPOSE 9401

ENTRYPOINT ["php", "/opt/www/bin/hyperf.php", "start"]

最后

以上就是无语御姐为你收集整理的Dockerfile 文件: docker build制作镜像时,出现pecl not found的全部内容,希望文章能够帮你解决Dockerfile 文件: docker build制作镜像时,出现pecl not found所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部