Dockerfile:检查生成机器是否为Windows
我们有一个Docker项目,由使用Windows,Mac或Linux的开发人员共享。
不幸的是,我们无法控制项目被克隆的方式 ,因此Windows开发人员在构buildDocker镜像时可能会遇到不好的结局,因此构build可能会失败。
为了解决这个问题,我们在Dockerfile中添加了一行代码,以便在生成过程开始之前用Unix行结束符replace所有的Windows行结束符:
ADD . /app RUN find . -type f -exec sed -i 's/\x0d//g' {} \+
但问题是,即使在Linux和Mac机器上,构build速度现在也要慢得多。
我只想在Windows机器上RUN
这个命令的时候RUN
这个命令。 但是有Dockerfile检测的方法吗?
你可以尝试用这样的东西replace“ADD …”行:
RUN git clone <your.repo.git> src ADD src /app
我还没有testing,但文件将由您的Dockerfile基础镜像的git创build,所以每个人都应该有相同的文件。