2017-02-23 3 views
1

ich habe folgende dockerfile:Wie kann ich dos2unix zu einem Alpine Docker Container hinzufügen?

FROM haproxy:alpine 

RUN apk --update add bash && apk --no-cache add dos2unix rsyslog supervisor wget curl ruby which py-setuptools py-pip && pip install awscli && chmod +x /*.sh 

COPY *haproxy.cfg /etc/ 
COPY supervisord.ini /etc/ 
COPY rsyslog.conf /etc/ 

COPY entrypoint.sh/
RUN dos2unix /entrypoint.sh && apt-get --purge remove -y dos2unix 

ENTRYPOINT ["/entrypoint.sh"] 

EXPOSE 9999 

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.ini"] 

Allerdings, wenn ich diese bauen erhalte ich:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz 
ERROR: unsatisfiable constraints: 
    dos2unix (missing): 
    required by: world[dos2unix] 

ich das Paket allerdings besteht hier sehen können: Was https://pkgs.alpinelinux.org/packages?name=dos2unix&branch=&repo=&arch=&maintainer=

ich tue, falsch ?

+0

Sie werden feststellen, dass es sich um 'testing', nicht' main' oder 'community' handelt. –

+0

Gibt es eine Möglichkeit, sie vom Testen zu akzeptieren? Oder eine Möglichkeit, es manuell hinzuzufügen? – MrDuk

+1

Aus Neugier, warum brauchen Sie es? In vielen Fällen reicht 'tr-d '' out && mv out in' aus. –

Antwort

2

Von Ihrem eigenen Link ist dos2unix (zu diesem Zeitpunkt, im Februar 2017) nur in testing, nicht in main oder community. Von the relevant documentation -

-

Wenn Sie nur das Haupt-Repository in Ihrer Konfiguration aktiviert haben, wird apk keine Pakete aus den anderen Repositories enthalten. Verwenden Sie den folgenden Befehl, um ein Paket vom Edge-/Testing-Repository zu installieren, ohne die Repository-Konfigurationsdatei zu ändern. Dies teilt apk mit, dieses spezielle Repository zu verwenden.

apk add cherokee --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted 

In diesem Fall würden Sie dos2unix für cherokee ersetzen wollen.

+1

Das Paket wurde zwischen den Repositories verschoben, daher benötigen Sie diesen Befehl: 'apk add dos2unix --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community/allow nicht vertrauenswürdig –

Verwandte Themen