Docker 1.7.1:有没有办法在构build镜像时向Dockerfile提供dynamic信息
我正试图在Bamboo代理上构build一个由pipe理员dynamic设置http_proxy并不断变化的图像。
我需要在Dockerfile中提供apt-get update
和apt-get upgrade -y
,而这又需要访问这个dynamic设置的公司http_proxy
任何关于如何提供这个docker docker build
/ Dockerfile的指针?
基本上,我正在寻找像最新的docker版本中引入的–build-arg选项。
PS:升级docker版本不是一个选项。
在1.7.1上运行的一个解决scheme是创build一个像env
这样的文件:
export http_proxy=<your-proxy> export https_proxy=<your-proxy>
然后在你的Docker文件中COPY
它,然后在你的apt指令之前在RUN
指令中find它,如下所示:
# Dockerfile ... COPY env /scripts/ RUN source /scripts/env && \ apt-get update ...
然后,您只需在构build之前更改env
文件中的代理值即可。 可以手动执行此操作,或创build一个钩子types脚本来执行此操作。 这明显的巨大缺点是,你一直在复制新的文件,所以你一直在破坏你的构buildcaching。我没有看到任何其他的select,因为你的(真的)旧的Docker版本。