"E: Package 'php-soap' has no installation candidate" php:7.0-fpm Docker 镜像。退出时代码:100



我想标题说明了一切...我有一个来自php:7.0-fpm图像的容器集。

在 Dockerfile 中,我运行,apt-get update && apt-get install -y php-soap .但是,它失败并返回100作为退出代码。此外,还有E: Package 'php-soap' has no installation candidate

基于此讨论,我需要安装apt-transport-https。我把它安装在Dockerfile中,但仍然是相同的错误。我该怎么办?

FPM 映像从源代码中引入 php。当你运行apt-get install php-soap时,你会从APT获得php,它带有不同的版本。至少是这样理解的。

临时修复:

RUN rm /etc/apt/preferences.d/no-debian-php

将来,请避免使用 apt-get 安装 php 依赖项。

这解决了我的问题。在您的php-fpmDockerfile中更改以下内容:

RUN if [ ${INSTALL_SOAP} = true ]; then # Install the soap extension apt-get update -yqq && apt-get -y install libxml2-dev php-soap && docker-php-ext-install soap ;fi

进入这个:

RUN if [ ${INSTALL_SOAP} = true ]; then # Install the soap extension rm /etc/apt/preferences.d/no-debian-php && apt-get update -yqq && apt-get -y install libxml2-dev php-soap && docker-php-ext-install soap ;fi

另请参阅此问题。

最新更新