如何将dos2unix添加到基于Alpine的docker集装箱?
我有以下dockerfile:
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"]
但是,当我build立这个我得到:
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]
我可以看到这个包存在这里虽然: https : //pkgs.alpinelinux.org/packages?name = dos2unix&branch =&repo = &arch =&maintainer=
我究竟做错了什么?
从自己的链接, dos2unix
是(目前,2017年2月)只在testing
,而不是在main
或community
。 从相关文件 –
如果您的configuration中仅启用了主存储库,则apk将不包含来自其他存储库的包。 要从边缘/testing存储库安装软件包而不更改存储库configuration文件,请使用下面的命令。 这将告诉apk使用该特定的存储库。
apk add cherokee --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
在这种情况下,你会想用dos2unix
代替cherokee
。