Docker 安装 GRPC 时容器构建失败

Docker container fails to build when installing GRPC

我有一个 Dockerfile 与我的 docker-compose 命令一起使用时工作正常,我想构建这个 docker 容器但是因为 GRPC 需要 15 分钟来安装每个我想在 GitHub Actions

中进行 运行 测试的时间

这是我的 Dockerfile 目前的样子:

FROM xxx-base:6

RUN pecl install grpc \
    && docker-php-ext-enable grpc \

WORKDIR /application

我得到以下错误输出:

#5 580.4 g++: fatal error: Killed signal terminated program cc1plus
#5 580.4 compilation terminated.
#5 580.4 make: *** [Makefile:248: src/core/ext/filters/client_channel/lb_policy/xds/cds.lo] Error 1
#5 580.5 ERROR: `make' failed
------
executor failed running [/bin/sh -c sudo pecl install grpc     && docker-php-ext-enable grpc WORKDIR /application]: exit code: 1

值得一提的是,在此处使用的基础容器中,我使用 pecl 来安装 imagik,因此我知道该命令至少部分有效。这是一个基础 PHP 7.4 容器。

任何建议,我已经看到一些其他帖子提到 docker 版本的内存限制,但我不确定要更改什么

Pastebin 完整堆栈跟踪:pastebin。com/g7iZ2uRn

万一 gcc –version 说任何小于 4.9 的...这可能是原因。

似乎也与您的场景有关...以防PECL失败。

在管道中安装 GRPC 需要很长时间。 我建议使用所用提供程序的缓存(bitbucket、github 等 ..)或使用用作 Dockerfile

起点的基础映像
FROM baseimage:latest

我实现了一个基于 alpine 和 php 7.4 的镜像,安装了扩展 grpc,在 github gits click here

上查看