【问题标题】:Can't install package on alpine though I can see it in the ui虽然我可以在 ui 中看到它,但无法在 alpine 上安装包
【发布时间】:2017-01-05 23:47:41
【问题描述】:

上周到今天,我在 alpine 上运行 php7 时没有遇到任何问题,当时我重建了我的映像,但现在没有任何效果。我得到错误:

/ # apk add php7
ERROR: unsatisfiable constraints:
  php7 (missing):
    required by: world[php7]

对于我尝试安装的每个包、扩展名,并且以前可以使用。这是我用来设置 php7 的 RUN 命令:

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=

【问题讨论】:

    标签: docker php-7 alpine alpine-package-keeper


    【解决方案1】:

    软件包 php7 已从测试版移至社区存储库,因此您必须将 http://dl-cdn.alpinelinux.org/alpine/edge/testing 替换为 http://dl-cdn.alpinelinux.org/alpine/edge/community

    【讨论】:

    • 谢谢!!我有一种感觉,它们已经被移动到某个地方,但我在我检查的任何存储库中都找不到它们。如果有这样的变化,有什么方法可以通知吗?这让我在开发时间上倒退了一点。
    • 谢谢。有没有关于 alpine repos 的文档?
    【解决方案2】:

    您应该使用 DockerHub 上的官方PHP 7 Alpine image

    然后,根据映像文档,在 Dockerfile 中使用 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 方法。

    我们提供辅助脚本 docker-php-ext-configure, docker-php-ext-install 和 docker-php-ext-enable 更容易 安装 PHP 扩展。

    DockerHub - PHP

    【讨论】:

    • 从 Alpine:3.3 开始,您现在可以跳过更新和清理。你做apk --no-cache add ...。它更有效率。 github.com/gliderlabs/docker-alpine/blob/master/docs/…
    • 感谢@Alkaline DevOpsDan。这看起来确实很奇怪,但真正让我感动的是,这在周五几乎可以正常工作,而昨天完全崩溃了。
    猜你喜欢
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 2019-06-09
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多