2017-11-07 8 views
0

Windows、Mac、Linuxを使用する開発者が共有するDockerプロジェクトがあります。Dockerfile:ビルドマシンがWindowsかどうかをチェック

残念ながら私たちはcontrol the way the project is clonedにはなりません。そのため、Windows開発者はDockerイメージを構築するときに悪い行末になり、そのためにビルドが失敗する可能性があります。ビルドプロセスが開始される前に

この問題を解決するには、我々はUnixの行末を持つすべてのWindows行末を置き換えるために、私たちDockerfileに行を追加しました:

ADD . /app 
RUN find . -type f -exec sed -i 's/\x0d//g' {} \+ 

しかし、問題があり、ビルドは今くらいですLinuxやMacの箱でさえ、遅くなります。

RUNこのコマンドは、Windowsマシンでビルドが行われている場合にのみ有効です。しかし、Dockerfileがそれを検出する方法はありますか?

答えて

0

あなたはこのようなもので、「ADD ...」の行を交換しようとすることができます:私がテストしていませんが、ファイルはそう、あなたのDockerfileベースイメージのgitのによって作成されます

RUN git clone <your.repo.git> src 
ADD src /app 

誰もが同じファイルを持っているはずです。

関連する問題