Dockerfile试图'apk添加作曲家'失败?

问题描述:

我试图学习Docker,并遇到了一个障碍。我的搬运工文件如下Dockerfile试图'apk添加作曲家'失败?

# Base image of a nginx box 
FROM richarvey/nginx-php-fpm:latest 

ARG VERSION=0.0.0 
ENV APP=jewel 
ENV WEBROOT=/var/www/html/JEWEL_WEB_ROOT/ 

WORKDIR /var/www/html 
COPY ./ ./ 

# Install composer libs 
RUN echo "ipv6" >> /etc/modules 
#RUN ["apk","update"] 
RUN ["apk","add","composer", "--no-cache"] 
RUN ["composer","install"] 

ENV PORT=80 
EXPOSE 80 

当构建过程获取到APK补充,我得到如下:

Step 8/11 : RUN apk add composer --no-cache 
---> Running in ffa506b1a07f 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz 
fetch http://nl.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz 
ERROR: unsatisfiable constraints: 
    composer-1.5.2-r0: 
    masked in: @testing 
    satisfies: world[composer] 
ERROR: Service 'web' failed to build: The command 'apk add composer --no-cache' returned a non-zero code: 1 

我检查包装清单(上pkgs.alpinelinux.org) ,并且有一个似乎符合标准的软件包,它似乎在寻找?

enter image description here

我很困惑,为什么它似乎找到了包,但不会安装它适合我。

作曲家-1.5.2-R0: 掩盖了:@testing

看来那是作者Dockerfile固定测试库,所以你必须要追加@testing到(可怕的过时!)包名称:

apk add [email protected] 

不过,我不希望它因为工作不同的PHP版本(V3.4是很老的版本)。

+0

ahhh好的,谢谢! :) –