我想用PHP和一些PHP模块来扩展httpd图像。我的Dockerfile看起来像这样。
FROM httpd:2.4
COPY forma.conf /etc/apache2/sites-available/
RUN apt-get update && apt-get install -y \
nano \
software-properties-common
RUN LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get -y update && apt-get install -y \
php7.2 \
libapache2-mod-php7.2 \
php7.2-common \
php7.2-mysql \
php7.2-gmp \
php7.2-ldap \
php7.2-curl \
php7.2-intl \
php7.2-mbstring \
php7.2-xmlrpc \
php7.2-gd \
php7.2-bcmath \
php7.2-xml \
php7.2-cli \
php7.2-zip
构建映像时出现以下错误x1c 0d1x
我做错了什么?
编辑:感谢@RJK在第5/6步中,您运行的是add-apt-repository -y ppa:ondrej\php,它应该是add-apt-repository -y ppa:ondrej/php(正斜杠)
现在,脚本可以找到ppa,但出现另一个错误。
2条答案
按热度按时间v1l68za41#
httpd映像是基于Debian的,而ondrej repo是为Ubuntu设计的,这两者是相关的,但它会给你带来问题。
当add-apt-repository运行时,它会为您当前的系统版本添加PPA,httpd映像使用Debian buster,它相当于Ubuntu hirsute(21.04),但尚未发布,PPA中没有它的包。您可以通过手动导入并指定一个ubuntu版本(在本例中为groovy)来解决此问题:
然而,你只会遇到更多的问题。我建议从Ubuntu基础开始,安装你需要的一切:
第一次
值得注意的是,在PPA description中有一个关于设置正确区域设置的警告,它应该是:
LC_ALL=C.UTF-8
e5nszbig2#
我建议您从这个特定的Dockerfile开始,并安装您需要的所有内容:
祝你好运