2016-04-10 4 views
2

Ich bin auf der Suche nach Laravel auf einem fpm-alpine Container. Laufen in einen Haken, wo der unter Dockerfile einige Fehler produziert ...FEHLER: unerfüllbare Einschränkungen - auf php: 7-fpm-alpine

FROM php:7-fpm-alpine 

# install extensions needed for Laravel 
RUN apk --update add \ 
    php7-mysqli \ 
    php7-mcrypt \ 
    php7-mbstring \ 
    rm /var/cache/apk/* 

Fehler produziert sind:

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 

ich für diese Paketnamen und find them on the alpine linux web site suchen. Irgendwelche Gedanken darüber, wie ich das umgehen kann? Es ist wie es ist nicht die apt-Cache zu aktualisieren ... aber das Hinzufügen eines LS I Inhalt dort sehen kann:

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 

Irgendwelche Ideen auf, was ich tue, um dies lösen kann?

Antwort

3

ich nicht docker-php-ext-install wurde mit der erforderlich ist, wenn innerhalb des Behälters Zugabe arbeiten ...

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/* 
+0

Ist das tatsächlich funktioniert? Es scheint, als ob das Kompilieren einiger dieser Erweiterungen möglicherweise Entwicklungspakete benötigt (wie zum Beispiel libmcrypt-dev). –

+0

Ja tatsächlich tut es – Webnet

3

Basis Docker Bild verweist wahrscheinlich eine falsche Repository.

Pass über die richtigen Repositories zum apk add Befehl wie folgt aus:

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 
+0

@Webnet, ich nehme an, das ist die richtige Antwort! – zioMitch