2017-11-07 22 views
0

Windows, Mac 또는 Linux를 사용하는 개발자가 공유하는 Docker 프로젝트가 있습니다.Dockerfile : 빌드 컴퓨터가 Windows인지 확인

불행히도 우리는 control the way the project is cloned을 사용할 수 없으므로 Windows 개발자는 Docker 이미지를 빌드 할 때 불량한 줄 바꿈으로 끝날 수 있으며 이로 인해 빌드가 실패 할 수 있습니다. 빌드 프로세스가 시작되기 전에

이 문제를 해결하려면, 우리는 유닉스 라인 엔딩으로 모든 Windows 라인 엔딩을 대체 할 우리의 Dockerfile에 한 줄을 추가 :

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

그러나 문제는, 빌드가 훨씬이다 Linux 및 Mac 상자에서도 느리게 실행됩니다.

Windows 시스템에서 빌드가 발생하는 경우에만 RUN이 명령을 사용하고 싶습니다. 하지만 Dockerfile이이를 감지 할 수있는 방법이 있습니까? 그래서,

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

내가 테스트하지 않았습니다하지만 파일은 Dockerfile의 기본 이미지의 자식에 의해 생성됩니다

답변

0

당신은 이런 식으로 "추가 ..."라인 교체를 시도 할 수 있습니다 모두가 같은 파일을 가져야합니다.