尽管我可以在 ui 中看到它,但无法在 alpine 上安装软件包
Can't install package on alpine though I can see it in the ui
从上周到今天,我一直在高山上 运行 php7 顺利进行,当时我重建了我的图像,但现在没有任何效果。我收到错误:
/ # apk add php7
ERROR: unsatisfiable constraints:
php7 (missing):
required by: world[php7]
对于我尝试安装的每个包、扩展,之前都有效。这是我用来设置 php7:
的 运行 命令
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add --update \
php7-mcrypt \
php7-soap \
php7-openssl \
php7-gmp \
php7-pdo_odbc \
php7-json \
php7-dom \
php7-pdo \
php7-zip \
php7-mysqli \
php7-sqlite3 \
php7-pdo_pgsql \
php7-bcmath \
php7-gd \
php7-odbc \
php7-pdo_mysql \
php7-pdo_sqlite \
php7-gettext \
php7-xmlreader \
php7-xmlrpc \
php7-bz2 \
php7-iconv \
php7-pdo_dblib \
php7-curl \
php7-ctype \
php7-fpm
以上所有扩展上周都安装得很完美。我错过了什么?
证明包确实存在:https://pkgs.alpinelinux.org/packages?name=php7-*&branch=&repo=&arch=&maintainer=
您应该在 DockerHub 上使用官方 PHP 7 Alpine image。
然后,根据图像文档,在您的 Docker 文件中使用 docker-php-ext-install
命令:
FROM php:7-fpm-alpine
RUN apk update \
&& apk add libmcrypt-dev \
&& docker-php-ext-install mcrypt mysqli pdo_mysql \
&& rm /var/cache/apk/*
这最初看起来可能有点奇怪,但它确实有效,并且是官方支持的 Docker 方法。
We provide the helper scripts docker-php-ext-configure,
docker-php-ext-install, and docker-php-ext-enable to more easily
install PHP extensions.
包 php7 已从测试移至社区存储库,因此您必须将 http://dl-cdn.alpinelinux.org/alpine/edge/testing
替换为 http://dl-cdn.alpinelinux.org/alpine/edge/community
。
从上周到今天,我一直在高山上 运行 php7 顺利进行,当时我重建了我的图像,但现在没有任何效果。我收到错误:
/ # apk add php7
ERROR: unsatisfiable constraints:
php7 (missing):
required by: world[php7]
对于我尝试安装的每个包、扩展,之前都有效。这是我用来设置 php7:
的 运行 命令RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add --update \
php7-mcrypt \
php7-soap \
php7-openssl \
php7-gmp \
php7-pdo_odbc \
php7-json \
php7-dom \
php7-pdo \
php7-zip \
php7-mysqli \
php7-sqlite3 \
php7-pdo_pgsql \
php7-bcmath \
php7-gd \
php7-odbc \
php7-pdo_mysql \
php7-pdo_sqlite \
php7-gettext \
php7-xmlreader \
php7-xmlrpc \
php7-bz2 \
php7-iconv \
php7-pdo_dblib \
php7-curl \
php7-ctype \
php7-fpm
以上所有扩展上周都安装得很完美。我错过了什么?
证明包确实存在:https://pkgs.alpinelinux.org/packages?name=php7-*&branch=&repo=&arch=&maintainer=
您应该在 DockerHub 上使用官方 PHP 7 Alpine image。
然后,根据图像文档,在您的 Docker 文件中使用 docker-php-ext-install
命令:
FROM php:7-fpm-alpine
RUN apk update \
&& apk add libmcrypt-dev \
&& docker-php-ext-install mcrypt mysqli pdo_mysql \
&& rm /var/cache/apk/*
这最初看起来可能有点奇怪,但它确实有效,并且是官方支持的 Docker 方法。
We provide the helper scripts docker-php-ext-configure, docker-php-ext-install, and docker-php-ext-enable to more easily install PHP extensions.
包 php7 已从测试移至社区存储库,因此您必须将 http://dl-cdn.alpinelinux.org/alpine/edge/testing
替换为 http://dl-cdn.alpinelinux.org/alpine/edge/community
。