错误:不可满足的限制 – 在PHP:7-fpm-alpine

我正在考虑在fpm-alpine容器上安装laravel。 遇到下面的Dockerfile产生一些错误的障碍…

FROM php:7-fpm-alpine # install extensions needed for Laravel RUN apk --update add \ php7-mysqli \ php7-mcrypt \ php7-mbstring \ rm /var/cache/apk/* 

产生的错误是:

 Building fpm Step 1 : FROM php:7-fpm-alpine ---> 9e6811cb8bac Step 2 : RUN apk --update add php7-mysqli php7-mcrypt php7-mbstring rm /var/cache/apk/* ---> Running in 87364957eb57 fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz ERROR: unsatisfiable constraints: /var/cache/apk/* (missing): required by: world[/var/cache/apk/*] php7-mbstring (missing): required by: world[php7-mbstring] php7-mcrypt (missing): required by: world[php7-mcrypt] php7-mysqli (missing): required by: world[php7-mysqli] rm (missing): required by: world[rm] ERROR: Service 'fpm' failed to build: The command '/bin/sh -c apk --update add php7-mysqli php7-mcrypt php7-mbstring rm /var/cache/apk/*' returned a non-zero code: 5 

我可以search这些软件包名称, 并在阿尔派Linux网站上find它们 。 有关如何解决这个问题的任何想法? 这就像它不更新aptcaching…但添加一个LS我可以看到内容:

 Building fpm Step 1 : FROM php:7-fpm-alpine ---> 9e6811cb8bac Step 2 : RUN apk update ---> Using cache ---> 9ef09f3aa2a2 Step 3 : RUN ls /var/cache/apk ---> Running in e126a083a306 APKINDEX.5a59b88b.tar.gz APKINDEX.7c1f02d6.tar.gz 

任何想法,我可以做什么来解决这个问题?

我没有使用docker-php-ext-install在容器中添加工作时需要…

 FROM php:7-fpm-alpine # install extensions needed for Laravel RUN apk update \ && apk add libmcrypt-dev \ && docker-php-ext-install mcrypt mysqli pdo_mysql \ && rm /var/cache/apk/* 

基础Docker镜像可能引用了一个不正确的仓库。

将正确的存储库传递给apk add命令,如下所示:

 RUN apk add --update --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \ --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \ php7-mysqli php7-mcrypt php7-mbstring